我正在尝试进行ajax调用。但是 Post 调用在“xhr.send( options.hascontent && options.data null )”行给出 400 错误。
以下是参考代码:
$.ajax({
type: "POST",
url: "/Security/Login",
async: false,
contentType: false,
beforesend: function (xhr) {
xhr.setRequestHeader("X-XSRF-TOKEN", $('input:hidden[name =" __RequestVerificationToken"]').val());
},
datatype: "json",
data: "{'Hi'}",
processData: false,
success: function (response) {
},
complete: function (response) {
}
});
$.ajax({
type: "POST",
url: "/Security/Login",
async: false,
contentType: false,
beforesend: function (xhr) {
xhr.setRequestHeader("X-XSRF-TOKEN", $('input:hidden[name =" __RequestVerificationToken"]').val());
},
datatype: "json",
data: "{'Hi'}",
processData: false,
success: function (response) {
},
complete: function (response) {
}
});
在数据部分之后降低 async false。
当我尝试填充从 ajax 调用检索的对象上的一些列表时,我在后端代码中的某个地方遇到了同样的错误。这是在 NET Core 使用 C# 时的情况。
我要的是:
// The returned object was:
Event event = new EventViewModel()
{
IdEvent = null,
FileStatusList = _operationsService.GetFileStatusList(), // LINE 2
Comment = null,
};
return Json(event); // to frontend
摆脱
LINE 2
为我解决了前端的问题。 jQuery ajax 调用按预期工作。
var data = {
id: eventId
}
$.ajax({
url: '../File/Edit', // To Edit method at File controller
dataType: "json",
async: true,
data: data,
method: "POST",
success: function (response) {
// Handle your response here.
},
error: function (ex) {
console.error(ex.responseText);
},
});