做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

jqueryajax向后臺傳遞數組以及如何在后臺接收數組代碼詳解

來源:懂視網 責編:小采 時間:2020-11-27 20:16:15
文檔

jqueryajax向后臺傳遞數組以及如何在后臺接收數組代碼詳解

jqueryajax向后臺傳遞數組以及如何在后臺接收數組代碼詳解:JS中的數組是弱類型的可以放任何類型(對象、基本類型),但是如果數組中放的是對象類型,傳遞到后臺是顯示的只能是對象字符串--[object Object],原因如下: 在后臺接收的時候,只能用request來接收,request.getParameterValues()方法返回的
推薦度:
導讀jqueryajax向后臺傳遞數組以及如何在后臺接收數組代碼詳解:JS中的數組是弱類型的可以放任何類型(對象、基本類型),但是如果數組中放的是對象類型,傳遞到后臺是顯示的只能是對象字符串--[object Object],原因如下: 在后臺接收的時候,只能用request來接收,request.getParameterValues()方法返回的

JS中的數組是弱類型的可以放任何類型(對象、基本類型),但是如果數組中放的是對象類型,傳遞到后臺是顯示的只能是對象字符串--[object Object],原因如下:

在后臺接收的時候,只能用request來接收,request.getParameterValues()方法返回的是一個String[],所以,應該是在前臺傳輸的時候調用了對象的toString()方法,那么如果依然想傳遞對象怎么辦?但是可以使用JSON字符串來實現,在后臺把JSON字符串解析成JAVA對象。
也許,你要說如果是復合對象怎么辦,比如如下:

public class Person { 
private String username; 
private String password; 
private Address addr; 
}

Person對象里有個Address類型的addr屬性,沒關系,任何對象最終用到的屬性值都是基本數據類型,只需要使用對應的包裝類型parseInt、或者parseXXX解析即可。
實現:
OK,原理就是這么個。先看JS如何寫:

var as = []; 
var temp = []; 
for ( var int = 0; int < 5; int++) { 
temp.push('{"k":'); 
temp.push(int); 
temp.push(',"v":'); 
temp.push(int); 
temp.push('}'); 
as.push(temp.join("")); 
} 
//Jquery中的方法,具體參考Jquery API 
$.post( "servlet/AjaxServlet?m=putWarningRule",{"aa":as} );

最終拼成的串就是如下樣式,(只作舉例)

{"k":0,"v":0}

后臺接收,不討論任何框架,只需要HttpServletRequest即可

String[] jsonArr = request.getParameterValues("aa[]");

有一點需要注意,在js中傳參的時候參數名叫"aa",而在后臺接收的時候卻是"aa[]",這里應該是Jquery做了轉換,所以最好的方式就是在JS中就改為"aa[]",之所以這里沒有寫"[]"是為了說明問題。可以使用如下方式打印request中的所有參數

Enumeration<String> names = request.getParameterNames(); 
while (names.hasMoreElements()) { 
String string = (String) names.nextElement(); 
System.out.println(string); 
}

OK,至此為止,已經接收完畢,剩下的就是如何將一個JSON字符串轉成一個POJO了。

/** 
* 將對象轉換為JSON格式的字符串 
* @param obj 
* @return 返回JSON字符串 
*/ 
public 
static
 String toJSONAsString(Object obj){ 
try { 
return JSONMapper.toJSON(obj).render(false); 
} catch (Mapper
Exception
 e) { 
e.printStackTrace(); 
} 
return null; 
} 
@SuppressWarnings("unchecked") 
public static <T> T jsonToObject(String jsonStr, Class<T> targetClass) throws TokenStreamException, RecognitionException, MapperException{ 
JSONValue jv = new JSONParser(new StringReader(jsonStr)).nextValue(); 
return (T) JSONMapper.toJava(jv,targetClass); 
} 
//test 
public static void main(String[] args) throws Exception { 
Person p = new Person(); 
p.setK("a"); 
p.setV("v"); 
String json = toJSONAsString(p); 
Person np = jsonToObject(json,Person.class); 
System.out.println(np.getK()+"=="+np.getV()); 
}

request取到值后,遍歷數組,挨個轉換

Person p = JSONUtils.jsonToObject(jsonArr[0], Person.class);

Person類如下:

public class Person { 
private String k; 
private String v; 
public String getK() { 
return k; 
} 
public void setK(String k) { 
this.k = k; 
} 
public String getV() { 
return v; 
} 
public void setV(String v) { 
this.v = v; 
} 
}

有時候會出現問題,后臺接收不到該值。

解決辦法:

設置jQuery.ajax的tradional屬性

$.ajax({
 url: "/xxx",
 type: "GET",
 data: {
 "boxIds": boxIds,
 "boxType": 0,
 "time": new Date().getTime()
 },
 traditional: true,//這里設置為true
 success: function(data) {
 //do sth...
 }
});

請求參數2

這次參數不帶”[]”了,并且后臺可以成功接收到該數組。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

jqueryajax向后臺傳遞數組以及如何在后臺接收數組代碼詳解

jqueryajax向后臺傳遞數組以及如何在后臺接收數組代碼詳解:JS中的數組是弱類型的可以放任何類型(對象、基本類型),但是如果數組中放的是對象類型,傳遞到后臺是顯示的只能是對象字符串--[object Object],原因如下: 在后臺接收的時候,只能用request來接收,request.getParameterValues()方法返回的
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 得荣县| 扶风县| 延安市| 武宣县| 塔城市| 天气| 西乡县| 临海市| 府谷县| 修武县| 南华县| 九龙城区| 友谊县| 达尔| 娄底市| 崇明县| 泸水县| 伊金霍洛旗| 凌云县| 石阡县| 富蕴县| 阜南县| 方正县| 石渠县| 钦州市| 福州市| 鞍山市| 观塘区| 东源县| 遂昌县| 和政县| 元谋县| 福鼎市| 涞水县| 忻城县| 本溪| 汤阴县| 台中县| 荔波县| 蓬安县| 青冈县|