ajax post request is No'Access-Control-Allow-Origin'标头出现在请求的资源上。

时间:2013-11-26 07:36:19

标签: jquery ajax cross-domain cross-domain-policy

我只是发出ajax post请求,我收到的错误如下:

  

XMLHttpRequest无法加载https://xxx.com?redirect_uri=http://www.example.com。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许来源“http://example.com”访问。

在这里,我可以看到除了“www”之外,我的响应域和请求域没有什么不同,“www”也会导致此问题吗?

2 个答案:

答案 0 :(得分:4)

问题是因为您正在制作跨域AJAX请求,这会阻止浏览器的安全性 - 请参阅Same Origin Policy

请求期望您向启用CORS的域发出请求,因此它会抱怨不存在的标头。

您需要将请求更改为jsonp类型,或使用服务器端代理来获取数据。

答案 1 :(得分:1)

从外部网站请求数据时,最好不要在ajax中执行此操作,但如果必须这样做,则ajax会有一个内部页面,它使用服务器端代码进行调用并使用ajax调用该页面。