0

我正在尝试从我的服务器获取 xmlhttp 请求,在本地机器上运行。

  function makeRequest(url) {

    var url = "http://localhost:8081/data/json";

    request = new XMLHttpRequest();
    request.onreadystatechange = alertContents;
    request.open("GET",url,true);
    request.send();

    function alertContents() {
        if ( request.readyState === 4 )  {
            var jsonResponse = JSON.parse(request.responseText);
            alert(jsonResponse.computedString);
            alert(request.status);
        }
    }

}

但它总是返回 status=0。

我不知道为什么会这样。

4

1 回答 1

0

从上面的讨论看来,问题是同源政策问题。即使在访问同一台服务器时,如果

  • 协议(http 与 https)
  • 主机(本地主机与 127.0.0.1)
  • 端口(80 与 8081)不匹配。

控制台输出和 Chrome 的网络选项卡 (CTRL+SHIFT+J) 也有助于诊断此类问题。

于 2013-08-09T07:05:45.657 回答