ホームページ  >  記事  >  バックエンド開発  >  jQueryリクエスト送信の中国語パラメータ文字化けを素早く解決する方法

jQueryリクエスト送信の中国語パラメータ文字化けを素早く解決する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-28 11:04:451676ブラウズ

今回は、jQuery の中国語パラメーターの文字化けを送信するリクエストを迅速に解決する方法と、jQuery の中国語パラメーターの文字化けを送信する問題を迅速に解決するための 注意事項 を​​説明します。実際のケースを見てみましょう。

私たちが最近取り組んでいる要件には、カスケード

クエリ が含まれています。上位レベルのドロップダウン ボックスの内容に基づいて、下位レベルのドロップダウン ボックスのリストをクエリする必要があります。カスケードし、テーブル内のデータは後でほとんど変更されないため、私が設計したテーブルは中国語で直接保存されます。

メニューは次のとおりです:

jQueryリクエスト送信の中国語パラメータ文字化けを素早く解決する方法

コードは次のとおりです:

var url = "${basePath}/institutionConfig/getDepartmentByCenter.do?param=" + center;
$.get(url, function (data) {
 var list = data.data;
 for (var i = 0; i " + list[i] + "";
 }
 $("#accountDepartmentAdd").html(departmentSelector);
});
パラメータはGETモードで直接送信されるため、ブラウザはパラメータをURLエンコードでエンコードします。 、および背景 取得したパラメータは次のとおりです:

$.get(url, callback)

jQueryリクエスト送信の中国語パラメータ文字化けを素早く解決する方法 受け取ったパラメータが文字化けしていることがわかります。そこで、さらなる処理、つまりトランスコーディングを実行しました。

String center = new String(param.getBytes("iso8859-1"), "utf-8");

このようにして、受信したテキストは中国語になります。

しかし、このアプローチでは実際にテスト環境でエラーが報告されました。その理由を分析した結果、テスト環境では正しい中国語が受信されたことがわかりましたが、トランスコード後には間違っていることが判明しました。したがって、解決策はページリクエストを変更することです。 GET メソッドによって発生するパラメータはエンコードされているため、POST リクエストは元のデータを送信します:

var url = "${basePath}/institutionConfig/getDepartmentByCenter.do";
$.ajax({
  url: url,
  data: {"param": center},
  dataType: "json",
  type: "POST",
  success: function (data) {
   var list = data.data;
   for (var i = 0; i " + list[i] + "";
   }
   $("#accountDepartmentAdd").html(departmentSelector);
  }
 });

この記事の事例を読んだ後は、メソッドを習得したと思います。情報については、他の php 中国語 Web サイトに注目してください。 推奨書籍:

フォームの繰り返し送信を防ぐために PHP を使用する方法

CodeIgniter フレームワーク データベースのユースケース分析

以上がjQueryリクエスト送信の中国語パラメータ文字化けを素早く解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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