Ajax傳遞特殊字符的數(shù)據(jù)如何解決
問題描述
如下,對含有特殊字符的text進行JSON封裝,通過Ajax傳遞,
var data = {"Id": id, "text": text};
在后臺無法進行數(shù)據(jù)接收。
解決方案
將
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
換為:
req.setRequestHeader("Content-type",
"application/json; charset=utf-8");
后臺接受數(shù)據(jù):
//進行json數(shù)據(jù)的接收 StringBuilder sb = new StringBuilder(); BufferedReader br = request.getReader(); char[] buff = new char[10000]; int len; while((len = br.read(buff)) != -1){ sb.append(buff, 0, len); } String mess = sb.toString(); //將字符串轉換為JSON對象 JSONObject jsonObject=new JSONObject(mess); //獲取其中的值 jsonObject.getInt("Id"); //含有特殊字符的文本需要先進行轉碼 URLDecoder.decode(jsonObject.getString("text"), "UTF-8"));
這樣就可以正確的進行文本的接收啦~
相關文章
使用ajax和history.pushState無刷新改變頁面URL示例
這篇文章主要介紹了使用ajax和history.pushState無刷新改變頁面URL示例,需要的朋友可以參考下2014-10-10Ajax提交參數(shù)的值中帶有html標簽不能提交成功的解決辦法(ASP.NET)
這篇文章主要介紹了Ajax提交參數(shù)的值中帶有html標簽不能提交成功的解決辦法(ASP.NET),非常不錯,具有參考借鑒價值,需要的朋友參考下2016-12-12ajax提交手機號去數(shù)據(jù)庫驗證并返回狀態(tài)值
這篇文章主要為大家詳細介紹了ajax提交手機號去數(shù)據(jù)庫驗證并返回狀態(tài)值的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01ajax設置async校驗用戶名是否存在的實現(xiàn)方法
下面小編就為大家?guī)硪黄猘jax設置async校驗用戶名是否存在的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08Json數(shù)據(jù)異步綁定到界面的Table并且自動刷新原理及代碼
做Winform習慣了,大家都習慣設置datasource這樣的寫法,今天就先從這個updatepanel加timer實現(xiàn)頁面自動刷新這個例子來下手吧,感興趣的朋友可以了解下,或許對你學習ajax有所幫助2013-02-02不使用XMLHttpRequest對象實現(xiàn)Ajax效果的方法小結
這篇文章主要介紹了不使用XMLHttpRequest對象實現(xiàn)Ajax效果的方法,結合具體實例形式分析了三種不使用XMLHttpRequest對象實現(xiàn)Ajax功能的相關實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下2019-07-07Ajax發(fā)送和接收二進制字節(jié)流數(shù)據(jù)的方法
這篇文章主要介紹了Ajax發(fā)送和接收二進制字節(jié)流數(shù)據(jù)的方法,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧2016-05-05