【发布时间】:2013-02-23 16:28:59
【问题描述】:
$.ajax({
url:"myurl",
async:true,
success:function (data) {
//....
},
complete:function (x, st) {
//....
},
error:function (x, st, e) {
alert(JSON.stringify(x));
}
});
这是 ajax 调用。 如果我尝试在浏览器中访问“myurl”,它工作正常。 但是 Ajax 调用总是会导致错误。 如果我对 xhr 进行字符串化,它看起来像这样:
{
"readyState": 0,
"responseText": "",
"status": 0,
"statusText": "error"
}
【问题讨论】:
-
您是否检查了控制台/网络选项卡是什么导致了错误?看到the readyState is 0, the request may have not left your browser。
-
旁注,
async:true是默认值,因此无需指定。 -
请求 URL:barnesandnoble.com/s?keyword=9780201485677&store=ebook Request Headers GET barnesandnoble.com/s?keyword=9780201485677&store=ebook HTTP/1.1 Accept: / Cache-Control: max-age=0 Referer: book.douban.com/subject/1419359 User-Agent : Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 Query String Parameters keyword=9780201485677&store=ebook铬,我看到上面。仍然不确定这是什么问题。 @JosephtheDreamer
-
@JosephtheDreamer 顺便说一句,我正在开发 chrome 扩展,在这种情况下允许跨源 ajax。
-
在chrome扩展中你需要在扩展定义文件中设置
"permissions": [ "http://www.google.com/" ],你做到了吗(developer.chrome.com/extensions/xhr.html)
标签: javascript ajax http jquery