我是javascript / jquery的新手。
我有以下基本代码,并且一直收到“错误”警告消息:
var jqxhr = $.get('my_url',
function(data) {
alert("success");
})
.success(function() {
alert("second success");
})
.error(function() {
alert("error");
})
.complete(function() {
alert("complete");
});
请注意,如果我在浏览器中复制并粘贴my_url
,我会收到一个xml文件。我究竟做错了什么?我怎样才能得到详细的错误描述?
答案 0 :(得分:1)
你是否在$ .ajaxSettings()函数中将响应类型更改为'text / xml'?
如果你期望'text / html'作为响应类型并获得'text / xml',那么这可能会导致问题。
如果您使用Fiddler,也可以很好地了解响应中实际存在的内容。
答案 1 :(得分:1)
您的错误:
XMLHttpRequest cannot load 'my_url'. Origin null is not allowed by Access-Control-Allow-Origin.
表示您有相同的原始问题。您不能对与主机网页的域不同的域执行ajax调用。
有关同一来源政策中相同来源的详细信息,请参阅this MDN reference。
解决方法是使用JSONP(使用不受同一原始策略约束的脚本标记),但这需要更改服务器以支持此操作的JSONP。
答案 2 :(得分:1)