出自:在專案上用到了批量刪除與批量更改狀態,前台使用了easyui的datagrid,用到了批量更改資料狀態功能。
在前台可以獲取每條資料的id,但是如何通過陣列方式傳遞給後台?
通過昨晚的各種方式的除錯,終於得出了答案! 在此作為備忘。
目前有兩種方式可行:
方式一前台**:
//方式一
var _list ={};
for (var i = 0; i < checkedrow.length; i++)
$.ajax(,
data: _list,
datatype: "json",
type: "post",
//traditional: true,
success: function
(responsejson)
});
注意:1、_list 是乙個物件
2、_list中的屬性需要結合後台引數名稱,例如」selectedids「,組合成類似:selectedids[0],selectedids[1]...等request.params
這裡是最重要的,否則後台認不出來。這種方式也可以傳遞自定義類的陣列。組合方式就是selectedids[0].firstname,selectedids[0].lastname,selectedids[1].firstname,selectedids[1].lastname...
3、ajax的data引數直接指定為_list
後台**:
public actionresult setcallbackstatus(listselectedids) );}
方式二前台**:
var _list =;for (var i = 0; i < checkedrow.length; i++)
$.ajax(,
//data: _list,
datatype: "json",
type: "post",
traditional:
true
, success:
function
(responsejson)
});
注意:1、_list 是乙個陣列。
2、ajax引數中data為
3、這種方式比較重要的 traditional:true。或者將2、中的 _list引數轉換一下$.param(_list,true)。這裡其實就是將_list作為傳統的方式傳遞給後台。jquery預設是做了轉換的。據說是為了使用php。。。。後台語言而做的。其實也就是自動在引數後面追加了」「。
後台**:
同方式一
針對自定義的類,也可以通過方式一jquery ajax傳遞給後台
例如:
//自定義person類
public
class
person
public
string lastname
} //
後台action
public actionresult setcallbackstatus(listselectedids)
);
}
此時前台js可以這樣寫:
var _list ={};for (var i = 0; i < checkedrow.length; i++)
$.ajax(,
data: _list,
datatype: "json",
type: "post",
//traditional: true,
success: function
(responsejson)
});
vue中axios傳遞給後台資料為null了???
一開始我的 var result await this axios.post rcpy mycontroller?operation login this loginform 然後從後台看我傳的值是 null 嗯,我就急了 淡定之後有了解決辦法 解決辦法 使用乙個外掛程式就可以啦 var resul...
前台傳送 ajax 請求到後台傳遞陣列引數
web專案開發中,我們經常會遇到需要向後台傳遞乙個陣列的情況,主要有兩種形式,一種是傳遞簡單的字元陣列,另一種就是傳遞乙個物件陣列,以下是針對這兩種情況的處理方式。傳遞字元陣列 jquery.ajax向後台傳遞乙個字元陣列,需要設定 traditional true,後台用 string arr 就...
AJAX傳遞陣列到後台處理
在開發中有時可能傳遞一批類似結構的資料到後台處理,但是ajax又不能像後台語言那樣直接傳乙個array物件過去,那怎麼辦呢?這個時候有個變通的方法,就是在前端將物件放到陣列裡面,然後序列化後傳遞到後台,在後台接受到資料後在反序列化回來即可,下面是乙個例子。1.前端處理 var peoples 定義乙...