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