ホームページ >ウェブフロントエンド >jsチュートリアル >jquery $.postの文字化け問題を解決する方法
jquery $.post の文字化けの解決策: 1. コードを「contentType: "application/x-www-form-urlencoded; charset=utf-8"0」に変更します。 2. コード「$.post」を変更します。 ajax({...})」が使用可能です。
このチュートリアルの動作環境: Windows7 システム、jquery1.10.0 バージョンこの方法は、すべてのブランドのコンピューターに適しています。
推奨チュートリアル: jquery ビデオ チュートリアル
jquery $.post の文字化け解決策:
$.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< ;meta http-equiv=”content-type” content=”text/html; charset=UTF-8″ />
中国語には 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 $.postの文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。