ajax 入参为list_ajax传递给后台数组参数方式
出自:http://blog.csdn.net/lingxyd_0/article/details/10428785
在項目上用到了批量刪除與批量更改狀態,前臺使用了EasyUI的DataGrid,用到了批量更改數據狀態功能。
在前臺可以獲取每條數據的ID,但是如何通過數組方式傳遞給后臺?
通過昨晚的各種方式的調試,終于得出了答案! 在此作為備忘。
目前有兩種方式可行:
方式一
前臺代碼:
// 方式一
var _list = {};
for (var i = 0; i < checkedRow.length; i++) {
_list["selectedIDs[" + i + "]"] = checkedRow[i].ID;
}
$.ajax({
url: '@Url.Action("SetCallBackStatus")',
//data: { "selectedIDs": _list },
data: _list,
dataType: "json",
type: "POST",
//traditional: true,
success: function (responseJSON) {
// your logic
alert('Ok');
}
});
注意:
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(List selectedIDs) {
string result = "ok";
string errMsg = "";
return this.JsonFormat(new { result = result, errMsg = errMsg });
}
方式二
前臺代碼:
var _list = [];
for (var i = 0; i < checkedRow.length; i++) {
_list[i] = checkedRow[i].ID;
}
$.ajax({
url: '@Url.Action("SetCallBackStatus")',
data: { "selectedIDs": _list },
//data: _list,
dataType: "json",
type: "POST",
traditional: true,
success: function (responseJSON) {
// your logic
alert('Ok');
}
});
注意:
1、_list 是一個數組。
2、ajax參數中data為{“selectedIDs”:_list}
3、這種方式比較重要的 traditional:true。或者將2、中的 _list參數轉換一下$.param(_list,true)。這里其實就是將_list作為傳統的方式傳遞給后臺。jQuery默認是做了轉換的。據說是為了使用PHP。。。。后臺語言而做的。其實也就是自動在參數后面追加了”[]“。
后臺代碼:
同方式一
針對自定義的類,也可以通過方式一jquery ajax傳遞給后臺
例如:
// 自定義Person類
public class Person {
public string FirstName { get; set; }
public string LastName { get; set; }
}
// 后臺Action
public ActionResult SetCallBackStatus(List selectedIDs)
{
string result = "ok";
string errMsg = "";
return this.JsonFormat(new { result = result, errMsg = errMsg });
}
此時前臺js可以這樣寫:
var _list = {};
for (var i = 0; i < checkedRow.length; i++) {
_list["selectedIDs[" + i + "].FirstName"] = checkedRow[i].FirstName;
_list["selectedIDs[" + i + "].LastName"] = checkedRow[i].LastName;
}
$.ajax({
url: '@Url.Action("SetCallBackStatus")',
//data: { "selectedIDs": _list },
data: _list,
dataType: "json",
type: "POST",
//traditional: true,
success: function (responseJSON) {
// your logic
alert('Ok');
}
});
springmvc 傳遞和接收數組參數
java url中如何傳遞數組,springMVC框架controller類如何接收數組參數? 下面介紹一下URL中傳遞數組參數方法: dd.do?titles[]=col1&titles[] ...
SpringMVC,SpringBoot使用ajax傳遞對象集合/數組到后臺
假設有一個bean名叫TestPOJO. 1.使用ajax從前臺傳遞一個對象數組/集合到后臺. 前臺ajax寫法: var testPOJO=new Array(); //這里組裝testPOJO數組 ...
快速獲取表單多條數據,使用ajax傳遞給后臺
當表單中有多條數據需要向后臺傳遞時,一個一個的獲取顯然是不可取的辦法,可以借助表單的serialize()方法獲取. HTML:
&l ...ajax向后臺傳遞數組參數并將后臺響應的數據賦值給一個變量供其它插件使用
1.在js中封裝ajax向后臺傳遞數組參數函數 //combogrid * * @Description 封裝ajax向后臺傳遞數組參數并將后臺響應的數據賦值給一個變量方便其他插件使用該數據函數 * ...
在ASP.NET MVC中以post方式傳遞數組參數的示例
最近在工作中用到了在ASP.NET MVC中以post方式傳遞數組參數的情況,記錄下來,以供參考. 一.準備參數對象 在本例中,我會傳遞兩個數組參數:一個字符串數組,一個自定義對象數組.這個自定義對象 ...
在ASP.NET MVC中以post方式傳遞數組參數的示例【轉】
最近在工作中用到了在ASP.NET MVC中以post方式傳遞數組參數的情況,記錄下來,以供參考. 一.準備參數對象 在本例中,我會傳遞兩個數組參數:一個字符串數組,一個自定義對象數組.這個自定義對象 ...
C#傳遞數組參數
在C#中,可以將數組作為參數傳遞給方法,同時方法可以更改數組元素的值. 一.將一維數組作為參數傳遞給方法?using System;using System.Collections.Generic;u ...
【Java框架型項目從入門到裝逼】第十一節 用戶新增之把數據傳遞到后臺
讓我們繼續來做"主線任務",這一節,我們來做具體的用戶新增功能.首先,為了簡單起見,我把主頁面改了一些,改的是列表那一塊.刪去了一些字段,和數據庫表對應一致: 現在,我們要實現一個 ...
C/C++怎樣傳遞二維數組,轉載自CSDN
用二維數組作為參數傳遞(用二維數組處理矩陣),但是希望接受傳遞二維數組參數的函數可以處理任意維度的數組(希望矩陣的行數和列數都是不固定的). [以下轉帖] ---------------------- ...
隨機推薦
[poj2337]求字典序最小歐拉回路
注意:找出一條歐拉回路,與判定這個圖能不能一筆聯通...是不同的概念 c++奇怪的編譯規則...生不如死啊... string怎么用啊...cincout來救? 可以直接.length()我也是長見識 ...
【原創】Linux 增加系統調用
Linux 增加系統調用大致步驟: 1.下載好內核文件,在內核源文件中添加好自己的調用函數. 2.編譯內核 3.驗證. 一.在內核源文件中增加自己的函數 ? 首先將內核文件移至/usr/src/下并解 ...
fastjson 的簡單說明及使用
fastjson 是一個性能很好的 Java 語言實現的 JSON 解析器和生成器,來自阿里巴巴的工程師開發. 各個版本jar包下載地址:https://repo1.maven.org/maven2/ ...
【IOS學習基礎】內存管理
1.內存幾大區域 1> 棧區:局部變量(基本數據類型.指針變量). 2> 堆區:程序運行的過程中動態分配的存儲空間(創建的對象). 3> BSS段:沒有初始化的全局變量和靜態變量. ...
javascripte (三) 改變html圖像
《數據結構與算法分析:C語言描述》讀書筆記------List的C語言實現
List的簡單實現.在GCC下測試通過. list.h #ifndef _List_H /*List數據結構的簡單實現*/ struct Node; typedef struct Node Node; ...
string的內存管理問題
string的內存管理是通過僅僅增不減的方式進行的,string的clear方法不會真正的釋放內存,假設須要真正的釋放內存可以連續調用string的這兩個方法.resize(0),reserve(). ...
[ExtJS5學習筆記]第二十八節 sencha ext js 5.1.0發布版本正式發布 extjs doc下載地址
本文地址:http://blog.csdn.net/sushengmiyan/article/details/41911539 本文作者:sushengmiyan ------------------ ...
yii2項目中運行composer 過程中遇到的問題
問題1: Your requirements could not be resolved to an installable set of packages 則表明?未安裝fxp/composer-a ...
oracle安全應用角色例子
今天在做看OCP的時候有道題是關于應用安全角色的,不是很明白,在網上找了個例子按照步驟驗證了下.QUESTION 48You want to create a role to meet these r ...
總結
以上是生活随笔為你收集整理的ajax 入参为list_ajax传递给后台数组参数方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php tongjiapi 使用_Kay
- 下一篇: joc杂志影响因子2019_边缘计算 |