2017-06-12 38 views
-1

我將一個數組(多維)作爲參數傳遞給ajax調用,但在url上獲取null。在ajax post上獲得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) {     
       } 
      }); 

地址: -

public JsonResult AddFilters(string[] filterData) 
{ 
} 

陣列(設爲myVal): -

Array

JSON.stringify後

陣列: - 爲 Array after JSON.stringify

+0

爲什麼downvote ?????? –

回答

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 - 看起來好像是 - 它應該能夠將這些值綁定到該列表參數中,這實際上是正確的方式來做我噸。

+0

謝謝@Dont .. –

+0

@SunilChaudhary它的作品? – DontVoteMeDown

+0

是的,它工作.. –

0

雖然答案以上建議用戶DontVoteMeDown的工作,但在你的情況下,只需去除字符串數組將如下工作:

public JsonResult AddFilters(string filterData) 
{ 
} 
0

刪除contentType: 'application/json'如果使用stringify。 在服務器端,您必須將字符串解析爲JSON。