【发布时间】:2015-12-15 12:02:43
【问题描述】:
我在 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");
}
});
【问题讨论】:
-
它在响应标头中没有显示任何内容。你在你的后端代码中处理过吗?
-
只是快速检查将“dataType”设置为json
-
204状态是我认为的问题,尝试为OPTIONS请求返回200,看看是否发送了POST
-
@Akki619 json 数据类型没有帮助。
-
@charlietfl 204 没问题,因为我已将其更改为 200,并得到相同的情况
标签: javascript jquery ajax nginx cors