我编写了一个运行良好但返回空响应文本的 XMLHttpRequest。
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 始终为空。
我收到 Error dispatching: getProperties 的日志错误(在 Safari 调试中),我似乎找不到参考。
我已经在本地和远程服务器上在 Safari 和 Firefox 中运行了代码。
放入浏览器的 URL 将返回字符串并给出 200 的状态代码。
我在运行良好的 Mac Widget 中为相同的 URL 编写了类似的代码,但浏览器中的相同代码永远不会返回结果。