我试图让CORS请求正常工作。使用以下JS代码,我收到此错误:XMLHttpRequest cannot load http://localhost:65491/?token=u80h9kil9kjuu02539buak4r6n&user=~me. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:50303' is therefore not allowed access.
这是JS代码:
$.ajax({
url: "http://localhost:60906/",
data: {token : 'u80h9kil9kjuu02539buak4r6n', user : '~me'},
type: "GET",
crossDomain: true,
success: function( response ) {
alert('Success!' + response);
var context = response;
}
});
当我使用chrome的devtools查看网络时,我发现确实没有'Access-Control-Allow-Origin'
标头。但是,当我手动加载网站时,它就出现了!
我使用以下代码设置标题:
response = JsonResponse(simpleWeek)
response['Access-Control-Allow-Origin'] = '*'
return response
希望得到一些帮助!
答案 0 :(得分:7)
它表示No 'Access-Control-Allow-Origin' header is present on the requested resource.
,这意味着您的服务器应用程序需要调整以接受跨源请求。
由于安全原因,交叉原始请求默认不起作用。你需要启用它们。
对于django,有一个维护包,其中包含大量设置:https://github.com/ottoyiu/django-cors-headers/
答案 1 :(得分:1)
经过2小时的故障排除后,我在网址中找到了解决方法: TYPO 。 请检查两次,也许它也可以解决您的问题。
答案 2 :(得分:0)
要使此功能正常运行,您需要做两件事:
而不是https://
,只需在 settings.py
http://
在同一文件中添加CORS_ORIGIN_ALLOW = True