ホームページ > 記事 > ウェブフロントエンド > jquery ajaxが文字化けしたコードを送信した場合の対処方法
jquery ajax 送信による文字化けコードの解決策: 1. エンコード設定を統一する; 2. post メソッドを使用してパラメータを渡す; 3. js フロントエンドでエンコードをエスケープし、バックグラウンドでデコードして取得するデータ; 4. contentType をグローバルに設定し、エンコーディングを指定します。
このチュートリアルの動作環境: Windows7 システム、jquery1.10.0 バージョン、Dell G3 コンピューター。
推奨: jquery チュートリアル
jquery ajax が文字化けしたデータを送信した場合はどうすればよいですか?
jqueryを使用してhtml5アプリケーションを処理すると、Firefoxでのテストは正常ですが、ユーザーがパッドでアクセスすると文字化けすると表示されます。自分でテストしてみたところ、案の定、 ChromeやIEのカーネルでは誰もがこの問題を抱えていることが分かりました。ページ属性がutf-8に設定されている場合、Firefoxだけがcharset=utf-8ヘッダファイルを送信します。ChromeとIEはそれを指定していないため、文字化けが表示されます.
解決策:
コードは次のとおりです:
$.ajaxSetup({ contentType: "application/x-www-form-urlencoded; charset=utf-8" }); $.post("test.php", { name: "i5a6", time: "2pm" }, function(data){ process(data); }, "json");
または使用:
コードは次のとおりです:
$.ajax({ url:url, type:"POST", data:data, contentType:"application/x-www-form-urlencoded; charset=utf-8", dataType:"json", success: function(){ ... } })
最初のものを使用することをお勧めします, ただし、実際の状況に基づいています. 文字変換に encodeURIComponent を使用することを推奨する人もいます.
ajax によって送信されたデータが文字化けした経験を要約します。
文字化けを回避するには、次の手順を実行できます。
解決策
1. ファイルのエンコード、データベースなどのエンコードを統一します。エンコード、および Web ページのコンテンツ タイプ エンコードを確認します。
Check
It中国語には UTF-8 を使用することをお勧めします。gbk/gb2312 を使用すると文字化けが発生する可能性があります
2、get の代わりに post を使用して送信します
##get メソッドはリンクを通じてパラメータを渡します。 urlEncode(エンコード)は自動的に行われますが、ブラウザごとにエンコード方法が異なる場合があります。 post を使用すると、この状況を回避できます。 3、フロントエンドのエンコードを js でエスケープして送信し、バックグラウンドでデコードしてデータを取得します。 これらはオンラインで検索できます 4、contentType をグローバルに設定し、エンコーディングを指定しますjquery ajax はデータのエンコードと送信に utf-8 を使用するため、IE は送信時に charset=utf-8 を追加しないため、文字化けが発生します (IE は iso-8 を使用します)。デフォルトでは 8859-1 エンコーディング)コードは次のとおりです:
$.ajaxSetup({ contentType: "application/x-www-form-urlencoded; charset=utf-8" });プログラミング関連の知識の詳細については、
プログラミング教育を参照してください。 !
以上がjquery ajaxが文字化けしたコードを送信した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。