jquery的ajax請求servlet與響應
在公司的專案中用jquery很久,一直沒錯,今天突然自己想讓jquery請求servlet,然後讓servlet返回一個字串,起初我懷疑不是json格式的資料,前端的js不接受不是json格式的資料,後來,自己拼了一個json格式的字串,意想不到的事發生了,前端的js的jquery回撥函式還是取不到資料,仔細研究一番,終於發現了問題的癥結。
開始,我在專案的servlet直接out.print("test"); 結果前端的js沒有反應,我想可能是out.print()裡邊的資料不是json格式的,接下來自己拼了個json格式的資料,就是下邊這個:"[{'age':'40','name':'張翠山','sex':'男'}," + "{'age':'109','name':'張三丰','sex':'男'}]"; 我覺得這個應該是json格式的資料了吧,但是,讓我十分納悶的是前端的js的回撥函式還是沒有反應。
接下來,我找了將資料格式化為json格式的工具及其相關的jar包,資料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包是將資料json格式化的必須的,缺一不可,否則執行時,程式報classnotfound exception,之後我將上邊json裡邊的兩條資料封裝成物件,然後放到一個泛型list列表裡邊,用下邊的語句將List資料json化:test=JSONArray.fromObject(slist).toString(); 然後讓程式執行,這回前端的JS回撥有了劇烈反應,終於有反應了,但是程式給的json串讓我難以理解: [{"age":"40","name":"張翠山","sex":"男"},{"age":"109","name":"張三丰","sex":"男"}],難道" ' "這個符號前端的Js不認識嗎?經過反覆嘗試,我可以下結論,果然,jquery請求servlet,servlet響應的資料可以是json或xml,但是json我肯定的是必須是:[{"age":"40","name":"張翠山","sex":"男"},{"age":"109","name":"張三丰","sex":"男"}]這種樣式的。
難道為了用jquery發起ajax請求,還得必須引用那麼多jar包嗎?我看了一下2M多,不小。
其實,不必引入資料json專門格式化的,我們可以自己拼json格式的資料,但是程式又不識別“ ' ”,怎麼辦?有辦法,用轉義符"\",這回轉義符號起到了決定性作用,拼好的資料如下:"[{\"age\":\"40\",\"name\":\"張翠山\",\"sex\":\"男\"}," + "{\"age\":\"109\",\"name\":\"張三丰\",\"sex\":\"男\"}]"; 雖然資料醜了點,但是不用引入那麼多jar包就可以資料格式化為json格式的了。
再回到自己的那個問題,那就可以將test字串一個資料拼成json格式的再out.print(),就可以完成jquery的ajax的請求了。
原文出處:http://blog.51cto.com/3596022/1283226
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2147904/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java Servlet (1) —— Filter過濾請求與響應JavaServletFilter
- 原聲ajax與jquery ajax請求的區別jQuery
- ajax請求servlet返回資料Servlet
- HTTP的請求與響應HTTP
- jquery ajax 跨域請求jQuery跨域
- ThinkPHP 請求與響應PHP
- HTTP 請求與響應HTTP
- Http請求與響應HTTP
- KKB : Jquery實現Ajax請求jQuery
- java Servlet結構概述3之請求響應1JavaServlet
- 理解Http請求與響應HTTP
- DRF之請求與響應
- 基於jQuery的三種AJAX請求jQuery
- Django REST framework的請求與響應DjangoRESTFramework
- HTTP請求與響應簡析HTTP
- HTTP請求頭與響應頭HTTP
- http請求頭與響應頭的應用HTTP
- 不能顯式攔截ajax請求的302響應?
- jquery 的ajax請求示例和注意事項jQuery
- 使用jQuery的ajax同步請求吃過的虧jQuery
- jquery Ajax 請求錯誤 Unexpected tokenjQuery
- jQuery裡如何使用ajax傳送請求jQuery
- jQuery ajax請求程式碼例項分享jQuery
- 作業4_請求與響應
- JQuery使用deferreds序列多個ajax請求jQuery
- ajax請求
- SpringSession系列-請求與響應重寫SpringGseSession
- React 中用jQuery的ajax 和 axios請求資料ReactjQueryiOS
- WebxFrameworkFilter 請求響應流程WebFrameworkFilter
- Django請求響應物件Django物件
- 學習AJAX必知必會(4)~JQuery傳送Ajax請求jQuery
- SpringMVC(1)- 入門案例、基本配置、請求、響應、Servlet相關介面SpringMVCServlet
- 跨域請求之jQuery的ajax jsonp的使用解惑跨域jQueryJSON
- jQuery的AJAX請求中contentType和dataType的區別jQuery
- ajax中POST請求與引數(請求體)設定
- 利用JQuery實現更簡單的Ajax跨域請求jQuery跨域
- ajax請求 juery
- ajax--實現非同步請求,接受響應及執行回撥非同步