一尘不染

来自XMLHttpRequest的空responseText

javascript

我写了一个XMLHttpRequest,它可以正常运行,但是返回一个空的responseText。

javascript如下:

  var anUrl = "http://api.xxx.com/rates/csv/rates.txt";
  var myRequest = new XMLHttpRequest();

  callAjax(anUrl);

  function callAjax(url) {
     myRequest.open("GET", url, true);
     myRequest.onreadystatechange = responseAjax;
                 myRequest.setRequestHeader("Cache-Control", "no-cache");
     myRequest.send(null);
  }

  function responseAjax() {
     if(myRequest.readyState == 4) {
        if(myRequest.status == 200) {
            result = myRequest.responseText;
            alert(result);
            alert("we made it");
        } else {
            alert( " An error has occurred: " + myRequest.statusText);
        }
     }
  }

代码运行正常。我可以遍历,得到readyState == 4和status == 200,但是responseText始终为空。

我收到错误调度:getProperties的日志错误(在Safari调试中),我似乎找不到对其的引用。

我已经在本地和远程服务器上的Safari和Firefox中运行了代码。

放入浏览器时,URL将返回字符串并给出200的状态码。

我在运行良好的Mac Widget中为相同的URL编写了类似的代码,但是在浏览器中使用相同的代码永远不会返回结果。


阅读 252

收藏
2020-05-01

共1个答案

一尘不染

http://api.xxx.com/您网域的一部分吗?否则,您将被同一原始策略阻止。

您可能想查看以下堆栈溢出帖子,以获取一些可能的解决方法:

2020-05-01