ajax傳遞給後台陣列引數方式

2022-04-23 10:20:23 字數 2009 閱讀 8984

出自:

在專案上用到了批量刪除與批量更改狀態,前台使用了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 定義乙...