为什么ajax请求与www工作?
我有以下代码:为什么ajax请求与www工作?
$.ajax({
url: frametarget,
dataType: 'html',
method: 'GET',
success: function(data){
// $("#result").html(data[0].title);
console.log(data);
},
error: function(error){
console.log(error);
}
});
现在如果frametarget =“www.skysports.com”的称呼是成功的,但使用skysports.com调用失败?
我正在对两个URL进行跨域调用,所以我预计都会失败。
对于http://www.skysports.com
此响应标头允许跨域请求:Access-Control-Allow-Origin: *
。
对于http://skysports.com
响应中没有CORS标头,因此浏览器拒绝该请求。
有关更多信息,请参阅MDN HTTP access control (CORS)。
换句话说,这是这个特定第三方网站的配置问题,对不对? –
对。请求'skysports.com'返回一个'301'重定向到'www.skysports.com'没有CORS头。 – Josa
感谢Josa确认其他人提到的内容。 –
好吧,首先你需要知道它为什么失败。寻找你的开发工具寻找线索。 –
任何跨域调用都会首先发送OPTIONS请求来检查服务器是否接受这样的请求。似乎www.skysports.com设置为接受,但skysports.com不接受。也许有从skysports.com永久重定向到www.skysports.com导致选项失败。 – Zefiryn
好吧,不,只有某些跨域请求发送OPTIONS请求。假设www和非www都是跨域的,则更改网址不会影响它是否发送OPTIONS预检。 –