我正在尝试将一组JSON对象传递给我的控制器。当我在ajax调用之前插入警报时,JSON似乎格式正确并且所有变量都已正确填充。但是,当我检查ajax调用的有效负载时,我看到一些变量包含空值。可能是什么导致了这个?我在jQuery的某个地方犯了错误吗?
function postToController(instructionsJSON) {
alert(instructionsJSON);
$.ajax({
type: "POST",
url: "/Traffic/create",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: instructionsJSON,
success: function (result) {
console.log(result);
},
error: function (error) {
alert(error);
}
});
}
答案 0 :(得分:2)
在我看来,你正在检查两组不同的数据。
alert(instructionsJSON); // the client data
// ...
console.log(result); // data returned from the server
如果您的服务器应该返回相同的数据,但存在差异,那么它与服务器在返回数据之前所做的任何事情有关。
答案 1 :(得分:1)
通常,您将数据作为键/值对发送到服务器端页面。在你的情况下,var'inscriptJSON`是一个JSON数组而不是JSON。所以它需要作为一个键/值对传递,它将保存这个数组。
function postToController(instructionsJSON) {
alert(instructionsJSON);
$.ajax({
type: "POST",
url: "/Traffic/create",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: { dataFeildName: instructionsJSON },
success: function (result) {
console.log(result);
},
error: function (error) {
alert(error);
}
});
}