MVC Controller没有正确解析Ajax请求?

时间:2013-04-24 20:09:55

标签: asp.net-mvc json jquery

我有一个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对象,但这并没有改变任何东西。

1 个答案:

答案 0 :(得分:0)

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