jquery ajax傳遞數組

//定義一個數組
var selectCount=[];
$.ajax({
url:'/bb/aaa',
type:'post',
dateType:'json',
traditional:true,   //注意這個地方
data:{
'selectCount':selectCount
},
success:function(res){
},
error:function(res){
}
});
查看jquery文檔


有如下解釋(訪問地址:http://www.w3school.com.cn/jquery/ajax_param.asp):

param() 方法創建數組或對象的序列化表示。

該序列化值可在進行 AJAX 請求時在 URL 查詢字符串中使用。

語法

jQuery.param(object,traditional)
參數 描述
object 要進行序列化的數組或對象。
traditional 規定是否使用傳統的方式淺層進行序列化(參數序列化)。

詳細說明

param() 方法用於在內部將元素值轉換爲序列化的字符串表示。請參閱 .serialize() 瞭解更多信息。

對於 jQuery 1.3,如果傳遞的參數是一個函數,那麼用 .param() 會得到這個函數的返回值,而不是把這個函數作爲一個字符串來返回。

對於 jQuery 1.4,.param() 方法將會通過深度遞歸的方式序列化對象,以便符合現代化腳本語言的需求,比如 PHP、Ruby on Rails 等。你可以通過設置 jQuery.ajaxSettings.traditional = true; 來全局地禁用這個功能。

如果被傳遞的對象在數組中,則必須是以 .serializeArray() 的返回值爲格式的對象數組:

[{name:"first",value:"Rick"},
{name:"last",value:"Astley"},
{name:"job",value:"Rock Star"}]

注意:因爲有些框架在解析序列化數字的時候能力有限,所以當傳遞一些含有對象或嵌套數組的數組作爲參數時,請務必小心!


在後臺spring 
@RequestMapping(value="/aaa",method=RequestMethod.POST)
@ResponseBody
public ResultData aaa(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="selectCount[]")String[] selectCount){

System.out.println(selectCount);
return null;
}
好了,處理完畢,如果各位處理有問題,請在下面評論,看到會回覆
發佈了54 篇原創文章 · 獲贊 28 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章