jQuery ajaxs CORS 请求
jQuery ajaxs CORS request
我正在通过 CORS 资源调用 jQuery ajax 请求。后端在 nginx 上工作,并设置了 OPTIONS 挂钩和响应,允许所有域和所有请求类型。但不幸的是我得到了错误回调。在 Chrome 网络控制台上,我看到 OPTIONS 请求的 204 回答。而且我从未见过我最初的 POST 请求。
var email = $('#your_email').val();
var sendData = {
issue: {
description: "email:" + email,
category_id: 1
}
};
$.ajax({
url: "https://domen/issues.json",
type: "POST",
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("goodtry:goodtryq"));
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-type", "application/json")
},
data: JSON.stringify(sendData),
success: function (val) {
alert("Thanks you, we are going to contact you soon");
},
error: function (val) {
alert("Please check your internet connection");
}
});
这样就解决了。我错过了诊断信息
Request header field Authorization is not allowed by Access-Control-Allow-Headers.
可以在这里找到非常有用的答案:
我正在通过 CORS 资源调用 jQuery ajax 请求。后端在 nginx 上工作,并设置了 OPTIONS 挂钩和响应,允许所有域和所有请求类型。但不幸的是我得到了错误回调。在 Chrome 网络控制台上,我看到 OPTIONS 请求的 204 回答。而且我从未见过我最初的 POST 请求。
var email = $('#your_email').val();
var sendData = {
issue: {
description: "email:" + email,
category_id: 1
}
};
$.ajax({
url: "https://domen/issues.json",
type: "POST",
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("goodtry:goodtryq"));
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-type", "application/json")
},
data: JSON.stringify(sendData),
success: function (val) {
alert("Thanks you, we are going to contact you soon");
},
error: function (val) {
alert("Please check your internet connection");
}
});
这样就解决了。我错过了诊断信息
Request header field Authorization is not allowed by Access-Control-Allow-Headers.
可以在这里找到非常有用的答案: