Angularjs ';访问控制允许原点';不在不同的系统上工作
我使用Django作为RESTAPI,使用Angularjs作为前端。 我已经在Django中设置了头,以允许API访问域(www.example.com) 代码运行良好,我能够从我的系统(OS-MAC、浏览器:Firefox、Chrome、Safari、Android Chrome、本机浏览器)进行ajax调用。几乎所有的东西 现在,在特定的操作系统上,我突然发现了这个错误:Angularjs ';访问控制允许原点';不在不同的系统上工作,angularjs,django,windows,google-chrome,django-cors-headers,Angularjs,Django,Windows,Google Chrome,Django Cors Headers,我使用Django作为RESTAPI,使用Angularjs作为前端。 我已经在Django中设置了头,以允许API访问域(www.example.com) 代码运行良好,我能够从我的系统(OS-MAC、浏览器:Firefox、Chrome、Safari、Android Chrome、本机浏览器)进行ajax调用。几乎所有的东西 现在,在特定的操作系统上,我突然发现了这个错误: XMLHttpRequest cannot load http://www.apicalls.in/. No 'Ac
XMLHttpRequest cannot load http://www.apicalls.in/.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://www.example.com' is therefore not allowed access.
我在Windows10Chrome浏览器上遇到了这个问题(两个操作系统都有相同的Chrome版本-46.x.x.x)。我无法理解这种行为,因为API与使用同一浏览器的所有其他设备都能正常工作。以前有人遇到过这个问题吗?如果您的服务器配置正确(我的意思是,它遵守CORS规范),那么可能是缓存问题 如果您已检索到
http://www.apicalls.in/
在ajax之前的浏览器中(也就是说,您触发了对http://www.apicalls.in/
请求头中没有来源。)
然后,您的服务器将为网页提供无accesscontrolalloworigin
标题的响应。您对同一URL的下一个ajax请求将命中浏览器缓存,并由于同一来源限制而被浏览器阻止
要解决此问题,您可以向请求url添加一个随机参数(例如http://www.apicalls.in/?_=123
)或打开chrome的开发者工具并选中禁用缓存
。祝您好运:)如果您的服务器配置正确(我的意思是,它遵守CORS规范),那么可能是缓存问题
如果您已检索到http://www.apicalls.in/
在ajax之前的浏览器中(也就是说,您触发了对http://www.apicalls.in/
请求头中没有来源。)
然后,您的服务器将为网页提供无accesscontrolalloworigin
标题的响应。您对同一URL的下一个ajax请求将命中浏览器缓存,并由于同一来源限制而被浏览器阻止
要解决此问题,您可以向请求url添加一个随机参数(例如http://www.apicalls.in/?_=123
)或打开chrome的开发者工具并选中禁用缓存
。祝你好运:)