我有这段代码:
$.ajax({
url: "http://example.com/auth",
type: "POST",
data: "username=example&password=mypasswd",
success: function(returned) {
// do stuff
},
error: function(returned) {
console.log(returned);
}
});
它与jQuery 1.3.2很好用,我刚才写了它,但是在今天更新到1.7.1之后,它返回了这个:
Object { readyState=0, status=0, statusText="error"}
我无法让它发挥作用。我做错了什么?
答案 0 :(得分:0)
我在代码中没有看到你告诉jQuery AJAX函数它正在进行跨域调用。尝试添加dataType : 'jsonp'
作为$.ajax()
电话中的一个选项:
$.ajax({
url : "http://example.com/auth",
dataType : 'jsonp',
type : "POST",
data : "username=example&password=mypasswd",
success : function(returned) {
// do stuff
},
error : function(returned) {
console.log(returned);
}
});
使用JSONP加载JSON块。添加额外的“?callback =?”到了 您的网址末尾指定回调。通过附加禁用缓存 除非缓存,否则查询字符串参数“_ = [TIMESTAMP]”到URL 选项设置为true。
答案 1 :(得分:0)
这是因为跨源政策。您需要将服务器配置为接受之前的选项调用。
更多细节可在以下网址找到: https://en.wikipedia.org/wiki/Cross-origin_resource_sharing