2017-07-21 26 views
3

我有此代碼(InDesign CS6),並且它不按預期工作。我使用的是Mac OS,我需要使代碼與Windows和Mac兼容。InDesign CS6套接字返回空

試圖在我的本地得到一個文本/ JSON和插座返回一個空字符串: -

function getData(host, path) { 
    var reply = ''; 
    var conn = new Socket; 
    var request = "GET " + path + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "\n"; 

    if (conn.open (host)) { 
     conn.write (request); 
     reply = conn.read(999999); 
     var close = conn.close(); 
    } 
    return reply; 
} 

var host = 'localhost:80'; 
var path = '/test/test/json.php'; 
var test = getData(host, path); 
alert(typeof(test) + ' Length:' + test.length); 

編輯:最後,我設法找出造成問題的原因。我創建了一個VMware,並嘗試運行該腳本,它正在工作。不知道爲什麼它不能在我的機器上工作。下載Wireshark,看到InDesign發送請求,但阻止訪問服務器的請求。我會更新,如果我能夠檢測到什麼導致塊。

+0

您是否啓動了套接字服務器?你可以發佈你的服務器配置嗎? –

+0

嗨亞歷山大,套接字是一個由Adobe InDesign腳本提供的功能(http://jongware.mit.edu/idcs6js/pc_Socket.html)。我沒有使用任何服務器來運行套接字。 – Arepie

+0

看到這個:https://gist.github.com/NicolasZanotti/5541764 –

回答

0

您不需要使用套接字只是爲了從服務器獲取JSON。

請參閱XMLHttpRequest文檔或只是一個庫,如jQuery,這大大簡化了Ajax調用JSON

+0

亞歷山大,如果我可以使用jQuery或普通的javascript,那可能是真的。這與InDesign腳本相關,其中有限功能可用。無論如何,感謝您的反饋。 – Arepie