javascript - InDesign CS6 套接字返回空

标签 javascript sockets adobe-indesign is-empty

我有这段代码 (InDesign CS6),但它没有按预期工作。我使用的是 Mac 操作系统,我需要使代码与 Windows 和 Mac 兼容。

尝试通过我的本地主机获取文本/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 发送了请求,但某些东西阻止了请求访问服务器。如果我能够检测到导致阻塞的原因,我会进行更新。

最佳答案

说到Socket,我想最简单的就是利用Rorohiko写的那个脚本: https://rorohiko.blogspot.fr/2013/01/geturlsjsx.html

或者尝试使用 IDExtenso 库: https://github.com/indiscripts/IdExtenso

我发现它们很方便,因为它们可以为您处理内部套接字机制。

关于javascript - InDesign CS6 套接字返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45228260/

相关文章:

javascript - AngularJS 过滤器去除某个正则表达式

javascript - 使用 Angular 传递的数据更新模态

sockets - 如何使用sockJS在onopen中获取参数

c++ - 将直接值传递给 CreateIoCompletionPort() 的 CompletionKey 参数

java - 从异步线程访问Android Activity 堆栈?

javascript - 为什么我的 InDesign Javascript 无法完全运行?

javascript - 在可读事件监听器回调中读取时,Node 的 process.stdin 可读流记录 Null

javascript - 从 Javascript 中的数组值生成有效输出

.net - 在多个应用程序中生成文档

javascript - 在 InDesign 中选择后如何获得下一段?