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