ホームページ  >  記事  >  ウェブフロントエンド  >  Ajax が特殊文字を含むデータを渡す問題を解決する方法

Ajax が特殊文字を含むデータを渡す問題を解決する方法

亚连
亚连オリジナル
2018-05-22 11:33:231557ブラウズ

この記事では、Ajax によって渡されたデータに特殊文字が含まれている場合の解決策を紹介します。必要な友達はそれを参照してください

問題の説明

は、特殊文字を含むテキストの JSON カプセル化です。 Ajax Pass,

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"));

このようにして、テキストを正しく受信できます~

上記は私が皆さんのためにまとめたものです。将来的にはすべての人に役立つことを願っています。

関連記事:

ローカル (ファイルプロトコル) AJAX リクエストをサポートするように Chrome を設定する (グラフィック チュートリアル)

AJAX ページング効果の実装は簡単 (グラフィック チュートリアル)

Ajax や Easyui などのフレームワークを使用する場合Json-lib 処理ソリューション (グラフィック チュートリアル)

以上がAjax が特殊文字を含むデータを渡す問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。