亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

jquery ajax 向后臺傳遞數組參數示例

2024-09-01 08:32:10
字體:
來源:轉載
供稿:網友
在JS中向后臺傳遞數組參數,如果數組中放的是對象類型,傳遞到后臺是顯示的只能是對象字符串--[object Object],具體的原因及解決方法如下,有類似問題的朋友可以參考下

需求:
在JS中向后臺傳遞數組參數

分析:
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了。我使用jsontools-core-1.7.jar,此jar包依賴antlr-2.7.7.jar,自行到代碼庫中下載,下載完畢,導入classpath,寫一個簡單的工具類,主要有這么2個方法:

復制代碼 代碼如下:


/**
* 將對象轉換為JSON格式的字符串
* @param obj
* @return 返回JSON字符串
*/
public static String toJSONAsString(Object obj){
try {
return JSONMapper.toJSON(obj).render(false);
} catch (MapperException 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;
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜精品久久久久久久99热浪潮| 国外色69视频在线观看| 日韩中文字幕国产| 精品中文字幕在线2019| 91在线播放国产| 91久久国产综合久久91精品网站| 亚洲欧美日韩综合| 成人午夜黄色影院| 亚洲级视频在线观看免费1级| 91禁外国网站| 国产精品18久久久久久麻辣| www亚洲精品| 高清一区二区三区四区五区| 亚洲精品第一页| 日韩成人久久久| 亚洲a一级视频| 91美女片黄在线观| 国产精品激情自拍| 久久人人爽人人爽爽久久| 少妇高潮 亚洲精品| 亚洲天堂2020| 日韩在线观看高清| 久久99久久99精品中文字幕| 国产精品久久电影观看| 成人黄色免费网站在线观看| 97视频在线观看亚洲| 九九热这里只有精品6| 成人免费看片视频| 91社影院在线观看| 亚洲欧美一区二区三区四区| 亚洲色图15p| 欧美日韩国产激情| 日韩成人网免费视频| 亚洲一区免费网站| 蜜臀久久99精品久久久久久宅男| 综合136福利视频在线| 欧美日韩国产一区二区| 亚洲美女福利视频网站| 亚洲一区二区三区在线视频| 久久久久久久久久亚洲| 午夜精品久久久99热福利| 中文字幕国产日韩| 91成人福利在线| 亚洲永久免费观看| 97国产一区二区精品久久呦| 国产福利视频一区| 欧美在线视频一区| 欧美久久精品一级黑人c片| 久久久www成人免费精品张筱雨| 欧美国产精品日韩| 欧美亚洲视频在线观看| 91中文精品字幕在线视频| 在线电影av不卡网址| 中文字幕不卡av| 日本国产高清不卡| 国外日韩电影在线观看| 亚洲伊人第一页| 91精品国产777在线观看| 亚洲欧美激情精品一区二区| 日韩在线观看电影| 中文字幕日韩精品有码视频| 成人综合国产精品| 91久久久久久久久久久久久| 国产成人精品一区二区三区| 69视频在线播放| 91情侣偷在线精品国产| 精品视频久久久久久| 国产视频久久久久| 久久久久久久激情视频| 欧美激情视频网| 91成人性视频| 亚洲人成亚洲人成在线观看| 日韩电影免费观看在线| 国产精品影院在线观看| 欧美成人午夜激情视频| 国产精品高潮粉嫩av| 国产欧美欧洲在线观看| 成人a级免费视频| 亚洲欧洲国产伦综合| 国产视频精品一区二区三区| 亚洲国产私拍精品国模在线观看| 亚洲精品视频免费| 欧美日韩免费观看中文| 国产亚洲精品91在线| 日韩成人激情视频| 国产成人精品免费久久久久| 欧美国产日本在线| 91性高湖久久久久久久久_久久99| 最近中文字幕日韩精品| 国产精品亚洲激情| 欧美激情视频免费观看| 亚洲欧美另类人妖| 韩国三级日本三级少妇99| 久久久久久久久爱| 久久久91精品| 国产成人精品久久亚洲高清不卡| 国产精品美女久久久免费| yw.139尤物在线精品视频| 国产欧美欧洲在线观看| 国产欧美中文字幕| 日韩欧美国产中文字幕| 久久国产加勒比精品无码| 欧美视频在线免费看| 国产亚洲一级高清| 成人网在线免费观看| 色偷偷偷综合中文字幕;dd| 国产成人福利网站| 精品成人在线视频| 91黑丝高跟在线| 国产999视频| 国产成人精品免高潮费视频| 国产日产欧美精品| 成人中文字幕+乱码+中文字幕| 国产精品视频自拍| 国产亚洲精品美女久久久| 亚洲国产天堂久久综合| 欧美性极品xxxx娇小| 久久精品国产99国产精品澳门| 欧美日韩一区二区免费在线观看| 亚洲国产日韩欧美在线图片| 欧美日韩免费区域视频在线观看| 97在线观看视频国产| 97免费视频在线| 久久久久久亚洲精品不卡| 国产一区二区三区在线视频| 最近更新的2019中文字幕| 国产精品香蕉国产| 久久久久久久久久久av| 欧美激情亚洲一区| 日韩一二三在线视频播| 国内伊人久久久久久网站视频| 日韩在线观看视频免费| 亚洲人成网站免费播放| 亚洲免费伊人电影在线观看av| 91沈先生在线观看| 奇米4444一区二区三区| 亚洲男人第一av网站| 欧美另类老肥妇| 日韩中文字幕在线视频播放| 欧美有码在线视频| 91精品视频免费观看| 一区二区三区www| 亚洲国产精品久久久久秋霞蜜臀| 欧美精品日韩三级| 精品国内自产拍在线观看| 亚洲免费中文字幕| 色妞一区二区三区| 日本一区二区在线免费播放| 26uuu国产精品视频| 欧美电影免费观看大全| 日本一区二区在线播放| 2019最新中文字幕| 亚洲欧洲美洲在线综合| 精品视频久久久久久久| www.久久撸.com| 国产欧美婷婷中文| 久久精品国产亚洲精品2020| 91社区国产高清| 中文字幕日韩av综合精品| 亚洲一区二区三区xxx视频| 国产精品第3页| 77777亚洲午夜久久多人| 欧美一区二区影院| 性色av一区二区三区红粉影视|