ホームページ > 記事 > ウェブフロントエンド > jQuery が文字化けした中国語パラメータを送信するリクエストを送信した場合はどうすればよいですか?
文字化けした中国語パラメータを送信するための jQuery リクエストの解決策: まずパラメータを GET モードで直接送信し、次にトランスコードします。コードは [String center = new String(param.getBytes("iso8859-1") です。 、「utf-8」)]。
このチュートリアルの動作環境: Windows7 システム、jquery3.2.1 バージョン、Dell G3 コンピューター。
文字化けした中国語パラメータを送信するための jQuery リクエストの解決策:
現在取り組んでいる要件にはカスケード クエリが含まれており、クエリはコンテンツに基づく必要があります。上位レベルのドロップダウン ボックスの表示 下位レベルのドロップダウン ボックスのリストを表示 カスケードは 2 レベルしかなく、テーブル内のデータは後でほとんど変更されないため、私が設計したテーブルには中国語が直接格納されます。
メニューは次のとおりです:
コードは次のとおりです:
var url = "${basePath}/institutionConfig/getDepartmentByCenter.do?param=" + center; $.get(url, function (data) { var list = data.data; for (var i = 0; i < list.length; i++) { departmentSelector += "<option value='" + list[i] + "' "; if (department && list[i] == department) { departmentSelector += "selected='selected'"; } departmentSelector += ">" + list[i] + "</option>"; } $("#accountDepartmentAdd").html(departmentSelector); });
私は $.get(url を使用します) , callback)
バックグラウンドにリクエストを送信する場合、パラメータは GET モードで直接送信されるため、ブラウザはパラメータを URL エンコードでエンコードし、バックグラウンドで取得されるパラメータは次のとおりです。
#ご覧のとおり、param は文字化けを受け取りました。そこで、受信したテキストが中国語になるように、さらなる処理、つまり
String center = new String(param.getBytes("iso8859-1"), "utf-8");をトランスコーディングしました。 しかし、このアプローチでは実際にテスト環境でエラーが報告され、原因を分析したところ、テスト環境では正しい中国語が受信されていたものの、トランスコード後には間違っていたことが判明しました。したがって、解決策はページリクエストを変更することです。 GET メソッドによるパラメータはエンコードされているため、POST リクエストに変更されます。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.length; i++) { departmentSelector += "<option value='" + list[i] + "' "; if (department && list[i] == department) { departmentSelector += "selected='selected'"; } departmentSelector += ">" + list[i] + "</option>"; } $("#accountDepartmentAdd").html(departmentSelector); } });
関連する無料学習の推奨事項: javascript(ビデオ)
以上がjQuery が文字化けした中国語パラメータを送信するリクエストを送信した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。