2013-07-01 55 views
0

嘗試後字符串數組到控制器AJAX張貼字符串數組到控制器

我控制器

public ActionResult GetMessage(List<string> ancestry) 
{ 
} 

我的JavaScript

var s = ["a", "b", "c"]; 

$.post(newareaurl, { s: JSON.stringify(s) }, function (data) { 

}); 

但是控制器接收到的數據作爲列出單個元素包含「[\」a \「,\」b \「,\」c \「]」,我期待它可以收到一個List有三個元素。

我已經嘗試設置使用傳統的傳統風格PARAM系列化:真實的,但 它給控制器

$.ajax({ 
    url: newareaurl, 
    type: 'POST', 
    data: { s: s }, 
    traditional: true, 
    success: function (newTerritory) { 
     console.log(newTerritory); 
    }, 
    error: function() { 

    } 
    }); 

如何正確地張貼陣列我「的翻譯:」值?

+0

嘗試這太問題http://stackoverflow.com/questions/309115/how-can-i-post-an-array-of-string-to-asp-net-mvc-controller- without-a-form –

+0

嗨,感謝您的回覆,我的問題證明我沒有檢查我正在處理的javascript var的類型。在將對象轉換爲數組之後,它工作*當然仍然使用傳統設置爲true –

回答

0

發現對象轉換爲陣列

變種nArray = jQuery.makeArray(S)的方法;

工作