当我尝试使用ajax发布数据时,在控制台中出现此错误。这个数据应该在这个网址上得到确认,然后我会收到一个包含更多数据的响应。Django jquery ajax cors错误
Cross-Origin Request Blocked: The Same Origin Policy disallows
reading the remote resource at https://secure.paygate.co.za/payweb3/process.trans.
(Reason: CORS header 'Access-Control-Allow-Origin' missing).
我使用django-cors-headers作为中间件来添加标题。我遵循了所有的配置说明。
我的settings.py:
INSTALLED_APPS = [
# ...
'corsheaders',
# ...
]
MIDDLEWARE = [
# ...
'corsheaders.middleware.CorsMiddleware',
# ...
]
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_METHODS = (
'GET',
'POST',
'OPTIONS',
)
AJAX调用:
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: data,
success: function(data){
alert('success');
},
error: function(data){
alert('error');
}
});
的数据和网址,上面这个声明,这部分是好的。 我每次提交时都会收到错误提示。
我的包:
Django==1.11.3
django-cors-headers==2.1.0
pytz==2017.2
我在Windows 10
编辑:我添加了csrfSafeMethod阿贾克斯。我不知道这可能与它有什么关系?此代码是由djangoproject提供这里docs.djangoproject.com/en/1.11/ref/csrf
EDIT2:我结束了发送Ajax调用内部所以后来我做了跨域的东西用的urllib Django的。 This帮助我发布了跨数据域的数据。
'以正确的顺序添加CorsMiddleware'? – Grimmy
[this](https://stackoverflow.com/questions/6506897/csrf-token-missing-or-incorrect-while-post-parameter-via-ajax-in-django)可能会帮助你。 – hansTheFranz
@hanzTheFranz恩这不是问题, – bernosbernus