在ajax帖子上获取null数组

时间:2017-06-12 11:18:02

标签: javascript c# jquery asp.net-mvc

我将一个数组(多维)作为参数传递给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): -

Array

JSON.stringify之后的数组: - Array after JSON.stringify

3 个答案:

答案 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。