ahe*_*ick 35 arrays ajax asp.net-mvc jquery json
我正在尝试在JavaScript中构建一个字符串数组,并在action方法的字符串列表中获取结果.以下是我的JavaScript的样子.我正在使用jQuery 1.4.2.问题是我在动作方法中的List总是显示NULL.JavaScript字符串数组是否会映射到C#中的字符串列表?
var test = ['test1', 'test2'];
var parms = {
var1: 'some string',
var2: test
};
$.ajax({
type: "POST",
url: "/Test/JSONTestAction",
async: false,
data: parms,
dataType: "json",
success: function(data) {
// success
}
});
Run Code Online (Sandbox Code Playgroud)
然后我的JsonResult看起来如下:
public JsonResult JSONTestAction(string var1, List<string> var2)
{
// var2 is always NULL -- not good
return Json(new { test = "test" });
}
Run Code Online (Sandbox Code Playgroud)
uvi*_*ita 54
更新到jquery 1.4.2后我遇到了同样的问题.您可以在此处找到解决方案(在Ajax部分中).
添加传统:ajax选项中的true应该有效.
$.ajax({
type: "POST",
traditional: true,
url: "/Test/JSONTestAction",
async: false,
data: parms,
dataType: "json",
success: function(data) {
// success
}
});
Run Code Online (Sandbox Code Playgroud)
此更改是为了使PHP/Rails用户更好地使用本机行为,您可以在此处更多地了解params更改.
您可以按照以下请求启用它:
$.ajax({
//Stuff...
traditional:true
});
Run Code Online (Sandbox Code Playgroud)
或像这样全局(只需要在触发任何请求之前运行一次):
jQuery.ajaxSettings.traditional = true;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
42174 次 |
最近记录: |