2013-07-01 2 views
0

Попытка опубликовать массив строк в контроллерАякса разместить массив строк в контроллер

Мой контроллер

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

Мой Javascript

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

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

}); 

Но контроллер получает данные в виде Список с единственным элементом, содержащим «[\" a \ ", \" b \ ", \" c \ "]", я ожидаю, что он сможет получить список с тремя элементами.

Я попытался установить традиционную стиль пары сериализации, используя традиционным: истинную, но это дает мне «[объект Object]» значение в контроллере

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

    } 
    }); 

Как правильно разместить массив?

+0

попробовать этот вопрос SO http://stackoverflow.com/questions/309115/how-can-i-post-an-array-of-string-to-asp-net-mvc-controller- без формы –

+0

привет спасибо за ответ, моя проблема получается, что я не проверял тип javascript var, с которым я работал. После преобразования объекта в массив он работал *, конечно, все еще используя традиционный набор для true –

ответ

0

нашел способ для преобразования объекта в массиве

вар nArray = jQuery.makeArray (ов);

работал

Смежные вопросы