1. 程式人生 > >ajax請求資料包括陣列,後臺獲取不到資料

ajax請求資料包括陣列,後臺獲取不到資料

參考: https://blog.csdn.net/jinyangbest/article/details/80079425

內容不貼

簡單記一下:

問題: ajax向後臺傳遞資料;將陣列包裝到json中傳遞,會發生在後臺獲取不到值的情況;
如:

var ids=[1,2,3];
var aaa={};//儲存頁面資料,傳給後臺;
aaa.ids=ids;
$.ajax({
	url : url,
	type : "post",
	dataType : "json",
	async : false,
	data:aaa,
	success : function(d) {
		//...
	}
});

後臺通過:

String ids=request.getAttribute("ids");

獲取到資料為null。

解決:
參考最上方網址;

在ajax請求時加上traditional:true,就可以了。

var ids=[1,2,3];
var aaa={};//儲存頁面資料,傳給後臺;
aaa.ids=ids;
$.ajax({
	url : url,
	type : "post",
	dataType : "json",
	async : false,
	data:aaa,
	traditional: true,
	success : function
(d) { //... } });