Ajax 向控制器发送空参数
Ajax Sending Null Parameters to Controller
我正在尝试使用 ajax 将 3 个参数发送到控制器函数。我的 ajax 看起来像
$.ajax({
url: '../saveFields',
data: {
fields : fieldIDs,
values : vals,
ID : <%= this.Model.DatabaseID %>,
},
success: function (data) {
alert("Success");
},
error: function (data) {
alert("Failed");
}
});
其中 fieldIDs 和 vals 是用整数填充的数组。控制器调用是
public ActionResult saveFields(int ID, int[] fields, int[] values)
我在 ajax 调用之前和 Controller 函数的第一行设置了一个断点。就在 ajax 调用之前,fieldIDs 和 vals 被正确填充,但随后控制器函数的第一行 fields 和 values 参数为空。身份证工作正常。对于我做错了什么的任何帮助将不胜感激。
嗯,Jquery 有不同类型的参数序列化。 Jquery Params
事实证明要解决这个问题并正确传递数组,您需要为 AJAX 设置以下 属性:
traditional: true
我正在尝试使用 ajax 将 3 个参数发送到控制器函数。我的 ajax 看起来像
$.ajax({
url: '../saveFields',
data: {
fields : fieldIDs,
values : vals,
ID : <%= this.Model.DatabaseID %>,
},
success: function (data) {
alert("Success");
},
error: function (data) {
alert("Failed");
}
});
其中 fieldIDs 和 vals 是用整数填充的数组。控制器调用是
public ActionResult saveFields(int ID, int[] fields, int[] values)
我在 ajax 调用之前和 Controller 函数的第一行设置了一个断点。就在 ajax 调用之前,fieldIDs 和 vals 被正确填充,但随后控制器函数的第一行 fields 和 values 参数为空。身份证工作正常。对于我做错了什么的任何帮助将不胜感激。
嗯,Jquery 有不同类型的参数序列化。 Jquery Params
事实证明要解决这个问题并正确传递数组,您需要为 AJAX 设置以下 属性:
traditional: true