我的页面已经工作了一段时间,突然间它给了我这个跨域请求错误。奇怪的是我正在向文件发出相对请求,所以我不明白为什么我会这样做。
错误:
选项https://www.aliahealthcare.com/php/central.php?logout=true Access-Control-Allow-Origin不允许原点https://aliahealthcare.com。
发送jquery-1.7.2.min.js:4 f.extend.ajax jquery-1.7.2.min.js:4 注销aliahealthcare.com/:841 选择器aliahealthcare.com/:901 (匿名函数)aliahealthcare.com/:713 f.event.dispatch jquery-1.7.2.min.js:3 h.handle.i jquery-1.7.2.min.js:3
XMLHttpRequest无法加载https://www.aliahealthcare.com/php/central.php?logout=true。
Access-Control-Allow-Origin不允许Origin https://aliahealthcare.com。 aliahealthcare.com/:1
代码:
function logout (){
$.ajax({
type: "GET",
url: "/php/central.php",
data: { logout: 'true' },
success: function(msg) {
if(msg=='1'){
location.reload();
}
else if(msg=='0') {
alert("Logout Failed! Please try again!")
}
},
error:function(msg){
alert("Error"+msg);
}
});
}
输出ajax结果时的结果:
Object {readyState: 1, setRequestHeader: function, getAllResponseHeaders: function, getResponseHeader: function, overrideMimeType: function…}
abort: function (a){a=a||"abort",p&&p.abort(a),w(0,a);return this}
always: function (){i.done.apply(i,arguments).fail.apply(i,arguments);return this}
complete: function (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this}
done: function (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this}
error: function (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this}
fail: function (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this}
getAllResponseHeaders: function (){return s===2?n:null}
getResponseHeader: function (a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c}
isRejected: function (){return!!i}
isResolved: function (){return!!i}
overrideMimeType: function (a){s||(d.mimeType=a);return this}
pipe: function (a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()}
progress: function (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this}
promise: function (a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}
readyState: 0
responseText: ""
setRequestHeader: function (a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this}
state: function (){return e}
status: 0
statusCode: function (a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this}
statusText: "error"
success: function (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this}
then: function (a,b,c){i.done(a).fail(b).progress(c);return this}
__proto__: Object
答案 0 :(得分:0)
网址之间的差异是“www。”,我认为这足以触发“跨域”。你是对的,因为相对请求导致不一样的URL很奇怪;也许这与JQuery的ajax方法有关。您可以通过手动输入完整主机名或使用window.location
确定问题来快速解决问题