jquery.form.js バージョン 3.01_jquery の中国語文字化け問題の解決策

WBOY
リリース: 2016-05-16 17:55:30
オリジナル
1073 人が閲覧しました

インターネットで多くのメソッドを検索しました。おそらく、使用した jquery.form.js がバージョン 3.01 であり、今年の 3 月 6 日にリリースされたばかり (ため息…一昨日) であるため、一般的にはそうではありません。仕事。下位バージョンが動作するかどうかについては未検証ですが、やはり無責任なコピーコピーコピーがほとんどです。送信前にすべての値をエンコードする方法もありますが、これは面倒でフロントエンドのコードが多く追加されると思うので、採用しませんでした。
分かった、自分たちで対処しましょう。まず、問題解決への入り口であるエントリーポイントを見つける必要があります。 JS で渡されたデータをエンコードしたいので、まずデータ転送関数から始める必要があります。 ajaxSubmit 関数を呼び出しているだけです。 js ファイルを開き、この関数を見つけてソース コードを確認し、次の行を見つけます。

コード をコピーします。コードは次のとおりです。

var qx, a = this.formToArray(options.semantic);

formToArray の機能は、収集されたフォーム データを次のように変換することです。オブジェクト配列を取得し、それを $.get 、 $.post 、およびその他の Ajax 関数に渡します。チャンスはあると思います。ただし、その後に数百行のコードが続きます。時間を節約するために、すぐに本題に進みましょう。上記の行にブレークポイントを設定し、Web ページに中国語データを入力し、段階的な JS デバッグを通じてソース コードを理解します。プログラムの実行後、いくつかのジャンプを経て、ついに fieldValue 関数の最後の部分を見つけました:

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

return $(el).val();

このように、ここでクライアントをエンコードするだけで済みます。
コードをコピー コードは次のとおりです:
returnエスケープ($(el).val()) ;

次に、サーバー側で Server.UrlDecode() を使用してデコードすると、文字化けがなくなり、中国語の文字が正しく受け入れられるようになります~~~

何か良い方法や提案はありますか?
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!