3

jQuery Form Pluginの助けを借りて、通常のフォーム フィールドとともにファイルをアップロードしています。すべてが正常に機能していました。ただし、utf-8 の特殊文字がある場合は、サーバー側でジャンク文字に変換されます。リクエスト ヘッダーを調べたところ、コンテンツ タイプ charset=utf-8 が欠落していることがわかりました。送信中にコンテンツ タイプを追加しようとしましたが、何も役に立ちませんでした。

 var options = {
         success:       successfunc,
         contentType: 'multipart/form-data; charset=utf-8',
 };
 $("#formid").ajaxSubmit(options);

jQuery スクリプト ファイルを分析した結果、

  var s = $.extend(true, {}, $.ajaxSettings, options, {
         contentType: false,
         processData: false,
         cache: false,
         type: 'POST'
     });

jQuery のコンテンツ タイプが変更された場合、境界値の問題により、サーバー コードは要求パラメーターを取得できません。ファイルをアップロードして、1 回の ajax 送信で utf-8 特殊文字を送信することはできませんか?

4

0 に答える 0