2017-07-21 40 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