CORS-AjaxHeaders
CORS - Ajax Headers
我正在尝试为跨域请求设置一些 header。
HTTP 客户端:http://localhost:8080
HTTP 服务器:http://localhost:8081
这是我的 Http 服务器 CORS 配置:
"Access-Control-Allow-Origin" : "http://localhost:8080"
"Access-Control-Allow-Methods" : "POST,GET,DELETE,PUT,OPTIONS"
"Access-Control-Allow-Credentials" : "true"
"Access-Control-Allow-Headers" : "Accept,Origin,Content-type,MY_HEADER"
"Access-Control-Expose-Headers" : "Accept,Origin,Content-type,MY_HEADER"
在我向请求添加自定义 header 之前,任何查询都可以正常工作。
当我这样做时,我收到以下错误:
XMLHttpRequest cannot load http://localhost:8081/auth. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
这是我的 ajax 添加自定义 header 的代码:
$.ajax({
beforeSend : function(xhr) {
xhr.setRequestHeader('MY_HEADER', 'my value');
},
crossDomain : true,
xhrFields: {
withCredentials: true
}
method: httpMethod,
url: url,
data: data,
dataType: 'json',
accept: {
json: 'application/json'
},
async: true,
});
当我删除 beforeSend
时,一切正常。
知道我可能做错了什么吗?
在此先感谢您的帮助。
添加请求 header 时,浏览器没有理由阻止 X-domain 请求。
您应该检查您的服务器是否仍在响应 Access-Control-Allow-Origin header.
问题来自 NancyFx,我不确定现在是否已修复。
您可以在此处了解更多信息:https://github.com/NancyFx/Nancy/issues/1947。
我正在尝试为跨域请求设置一些 header。
HTTP 客户端:http://localhost:8080 HTTP 服务器:http://localhost:8081
这是我的 Http 服务器 CORS 配置:
"Access-Control-Allow-Origin" : "http://localhost:8080"
"Access-Control-Allow-Methods" : "POST,GET,DELETE,PUT,OPTIONS"
"Access-Control-Allow-Credentials" : "true"
"Access-Control-Allow-Headers" : "Accept,Origin,Content-type,MY_HEADER"
"Access-Control-Expose-Headers" : "Accept,Origin,Content-type,MY_HEADER"
在我向请求添加自定义 header 之前,任何查询都可以正常工作。 当我这样做时,我收到以下错误:
XMLHttpRequest cannot load http://localhost:8081/auth. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
这是我的 ajax 添加自定义 header 的代码:
$.ajax({
beforeSend : function(xhr) {
xhr.setRequestHeader('MY_HEADER', 'my value');
},
crossDomain : true,
xhrFields: {
withCredentials: true
}
method: httpMethod,
url: url,
data: data,
dataType: 'json',
accept: {
json: 'application/json'
},
async: true,
});
当我删除 beforeSend
时,一切正常。
知道我可能做错了什么吗?
在此先感谢您的帮助。
添加请求 header 时,浏览器没有理由阻止 X-domain 请求。 您应该检查您的服务器是否仍在响应 Access-Control-Allow-Origin header.
问题来自 NancyFx,我不确定现在是否已修复。
您可以在此处了解更多信息:https://github.com/NancyFx/Nancy/issues/1947。