首頁 >web前端 >js教程 >Ajax傳遞特殊字元的資料如何解決

Ajax傳遞特殊字元的資料如何解決

亚连
亚连原創
2018-05-22 11:33:231588瀏覽

這篇文章為大家介紹了Ajax傳遞的資料包含特殊字元時的解決方法,需要的朋友參考下吧

問題描述

#如下,對含有特殊字元的text進行JSON封裝,透過Ajax傳遞,

var data = {"Id": id, "text": text};

在後台無法進行資料接收。

解決方案

req.setRequestHeader("Content-Type",
        "application/x-www-form-urlencoded");

換成:

req.setRequestHeader("Content-type",
        "application/json; charset=utf-8");

後台接受資料:

 //进行json数据的接收
    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"));

這樣就可以正確的進行文本的接收啦~

上面是我整理給大家的,希望今後會對大家有幫助。

相關文章:

配置Chrome支援本地(file協定)的AJAX請求(圖文教學)

AJAX分頁效果簡單實作(圖文教學)

使用Ajax或Easyui等框架時的Json-lib的處理方案(圖文教學)

#

以上是Ajax傳遞特殊字元的資料如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn