jquery的ajax請求servlet與響應

   在公司的項目中用jquery很久,一直沒錯,今天突然自己想讓jquery請求servlet,然后讓servlet返回一個字符串,起初我懷疑不是json格式的數(shù)據(jù),前端的js不接受不是json格式的數(shù)據(jù),后來,自己拼了一個json格式的字符串,意想不到的事發(fā)生了,前端的js的jquery回調(diào)函數(shù)還是取不到數(shù)據(jù),仔細研究一番,終于發(fā)現(xiàn)了問題的癥結(jié)。

因為努力和真誠,有更多的客戶和我們聚集在一起,為了共同目標,創(chuàng)新互聯(lián)公司在工作上密切配合,從創(chuàng)業(yè)型企業(yè)到如今不斷成長,要感謝客戶對我們的高要求,讓我們敢于面對挑戰(zhàn),才有今天的進步與發(fā)展。從網(wǎng)站到微信平臺小程序開發(fā),軟件開發(fā),成都app軟件開發(fā)公司,10年企業(yè)網(wǎng)站建設服務經(jīng)驗,為企業(yè)提供網(wǎng)站設計,網(wǎng)站運營一條龍服務.為企業(yè)提供營銷型網(wǎng)站建設,定制網(wǎng)站開發(fā),原創(chuàng)設計,10年品質(zhì),值得您的信賴.

   開始,我在項目的servlet直接out.print("test"); 結(jié)果前端的js沒有反應,我想可能是out.print()里邊的數(shù)據(jù)不是json格式的,接下來自己拼了個json格式的數(shù)據(jù),就是下邊這個:

"[{'age':'40','name':'張翠山','sex':'男'}," +  "{'age':'109','name':'張三豐','sex':'男'}]"; 我覺得這個應該是json格式的數(shù)據(jù)了吧,但是,讓我十分納悶的是前端的js的回調(diào)函數(shù)還是沒有反應。

    接下來,我找了將數(shù)據(jù)格式化為json格式的工具及其相關的jar包,數(shù)據(jù)json格式化所需的jar包如下:

                  commons-beanutils-1.8.3.jar

                  commons-collections-3.2.1.jar

                  commons-lang-2.5.jar

                  commons-logging-1.1.1.jar

                  ezmorph-1.0.6.jar

                  json-lib-2.3-jdk15.jar

     以上jar包是將數(shù)據(jù)json格式化的必須的,缺一不可,否則運行時,程序報classnotfound exception,之后我將上邊json里邊的兩條數(shù)據(jù)封裝成對象,然后放到一個泛型list列表里邊,用下邊的語句將List數(shù)據(jù)json化:test=JSONArray.fromObject(slist).toString(); 然后讓程序運行,這回前端的JS回調(diào)有了劇烈反應,終于有反應了,但是程序給的json串讓我難以理解:  [{"age":"40","name":"張翠山","sex":"男"},{"age":"109","name":"張三豐","sex":"男"}],難道" ' "這個符號前端的Js不認識嗎?經(jīng)過反復嘗試,我可以下結(jié)論,果然,jquery請求servlet,servlet響應的數(shù)據(jù)可以是json或xml,但是json我肯定的是必須是:[{"age":"40","name":"張翠山","sex":"男"},{"age":"109","name":"張三豐","sex":"男"}]這種樣式的。

    難道為了用jquery發(fā)起ajax請求,還得必須引用那么多jar包嗎?我看了一下2M多,不小。

    其實,不必引入數(shù)據(jù)json專門格式化的,我們可以自己拼json格式的數(shù)據(jù),但是程序又不識別“ ' ”,怎么辦?有辦法,用轉(zhuǎn)義符"\",這回轉(zhuǎn)義符號起到了決定性作用,拼好的數(shù)據(jù)如下:"[{\"age\":\"40\",\"name\":\"張翠山\",\"sex\":\"男\(zhòng)"}," +  "{\"age\":\"109\",\"name\":\"張三豐\",\"sex\":\"男\(zhòng)"}]"; 雖然數(shù)據(jù)丑了點,但是不用引入那么多jar包就可以數(shù)據(jù)格式化為json格式的了。

   再回到自己的那個問題,那就可以將test字符串一個數(shù)據(jù)拼成json格式的再out.print(),就可以完成jquery的ajax的請求了。

 

分享標題:jquery的ajax請求servlet與響應
當前鏈接:http://bm7419.com/article46/jdejeg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、云服務器、面包屑導航、Google小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司