我写了一个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编写了类似的代码,但是在浏览器中使用相同的代码永远不会返回结果。
是http://api.xxx.com/您网域的一部分吗?否则,您将被同一原始策略阻止。
http://api.xxx.com/
您可能想查看以下堆栈溢出帖子,以获取一些可能的解决方法: