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