JavaScript的Array長這樣
var myList = new Array();
最常見的用法就是把網頁上表單形式的排列資料,依所需取出以組合成陣列,
像是把table裡面每個的id值取出來
$('#myTable tr').each(function () {
var myId = $(this).attr('id');
myList.push( myId );
})
var myList = new Array();
最常見的用法就是把網頁上表單形式的排列資料,依所需取出以組合成陣列,
像是把table裡面每個的id值取出來
$('#myTable tr').each(function () {
var myId = $(this).attr('id');
myList.push( myId );
})
接著用$.post把資料往後送(我用MVC所以會有個Action接收)
$.post('myController/myAction', { json1: $.trim($('#textbox1').val()), json2: myList }, null, "json");
myAction如下
[HttpPost]
public JsonResult myAction (string json1, List< string> json2)
{
// do something
}
經過反覆檢驗,myList的確有值但json2總是null
解決辦法是traditional設為true,寫法有以下二種
● $.ajax設定traditional: true
$.ajax({
type: "POST",
url: 'myController/myAction',
data: { json1: $.trim($('#textbox1').val()), json2: myList },
null,
dataType: "json",
traditional: true
// traditional 改為 ture .NET 才能成功接收陣列
});
$.post('myController/myAction', $.param(myObject, true), null, "json");
參考資料
jQuery.param()
How can I post an array of string to ASP.NET MVC Controller without a form?
$.post('myController/myAction', { json1: $.trim($('#textbox1').val()), json2: myList }, null, "json");
myAction如下
[HttpPost]
public JsonResult myAction (string json1, List< string> json2)
{
// do something
}
經過反覆檢驗,myList的確有值但json2總是null
解決辦法是traditional設為true,寫法有以下二種
● $.ajax設定traditional: true
$.ajax({
type: "POST",
url: 'myController/myAction',
data: { json1: $.trim($('#textbox1').val()), json2: myList },
null,
dataType: "json",
traditional: true
// traditional 改為 ture .NET 才能成功接收陣列
});
● $.post傳值必須使用jQuery.param
var myObject = { json1: $.trim($('#textbox1').val()), json2: myList };$.post('myController/myAction', $.param(myObject, true), null, "json");
參考資料
jQuery.param()
How can I post an array of string to ASP.NET MVC Controller without a form?