我将一个数组(多维)作为参数传递给ajax调用,但在url上获取null。
我尝试使用JSON.stringify但没有使用stringify但它总是返回null。
我们如何解决它,TIA。
Ajax的: -
$.ajax({
type: "POST",
data: JSON.stringify({ filterData: myVal }),
dataType: 'json',
contentType: 'application/json',
async: false,
url: "/Home/AddFilters",
success: function (msg) {
}
});
URL: -
public JsonResult AddFilters(string[] filterData)
{
}
阵列(设为myVal): -
答案 0 :(得分:1)
为此创建模型类,例如:
public class FilterData
{
public string columnName { get; set; }
public string firstFilterType { get; set; }
public string secondFilterType { get; set; }
public string secondFilterVal { get; set; }
public string multiOperator { get; set; }
}
然后在操作:
中public JsonResult AddFilters(List<FilterData> filterData)
如果你的应用程序是Asp.net MVC - 似乎是 - 它应该能够将这些值绑定到list参数中,这实际上是正确的方法。
答案 1 :(得分:0)
虽然用户DontVoteMeDown上面提出的答案可行,但在您的情况下,只需从字符串中删除数组即可:
public JsonResult AddFilters(string filterData)
{
}
答案 2 :(得分:0)
如果您使用contentType: 'application/json'
,请删除stringify
。
在服务器端,您必须将字符串解析为JSON。