我有一个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控制器中的函数被命中时,int1
和int2
属性从请求中正确设置,但listOfInts
参数为空。我试过改变它以使用原始数组而不是List对象,但这并没有改变任何东西。
答案 0 :(得分:0)
固定。此问题是由提供的代码之外的内容引起的。构建整数列表的javascript不应该在末尾添加括号。删除了那些,它就像一个魅力。