0

我有一个 MVC .NET 4.5 应用程序,它使用带有 JSON 的 Ajax 请求来访问服务器端的 MVC 控制器。控制器中的函数如下所示:

[HttpPost]
public void SomeFunction(int int1, List<int> listOfInts, int int2)
    {
        someOtherFunction(int1, listOfInts, int2);
    }

ajax 请求如下所示:

actionData = {
            int1: 1,
            int2: 2,
            listOfInts: list
        }
 $.ajax({
        type: 'POST',
        url: actionURL,
        data: JSON.stringify(actionData),
        traditional: true,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        success: functionIfSuccessful() },
        error: functionIfNotSuccessful() }
    });

如果我查看 Fiddler 中的请求,则传递的 JSON ojbect 具有以下格式:

int1=1
int2=2
listOfInts=[1,2]

问题是当 MVC 控制器中的函数被命中时,从请求中正确设置了int1int2属性,但listOfInts参数为空。我也尝试将其更改为使用原始数组而不是 List 对象,但这并没有改变任何东西。

4

1 回答 1

0

固定的。这个问题是由提供的代码之外的东西引起的。构建整数列表的 javascript 不应该在末尾添加括号。删除了那些,它就像一个魅力。

于 2013-04-24T21:06:18.137 回答