テキストとファイルフィールドを持つフォームをjquery ajaxとFormDataで送信しようとしています。 Chrome上でうまく動作していますが、Firefox 45.0.1とSafari 9.1で400回の不正リクエストを受け取りました。 Firefox 44でうまくいきましたが、45.0.1に更新した後に問題が発生しました。私はキャッシュ、クッキー、履歴などすべてをクリアしましたが、まだ動作していません。私のリクエストとレスポンスヘッダが、私はこの問題を解決してきた 400 Firefox 45.0.1とSafari 9.1のリクエストが正しくありません
0
A
答えて
0
どのように見えるかだ
var formData = new FormData($(form)[0]);
$.ajax({
type: 'POST',
url: '/api/slab/post/',
data: formData,
cache: false,
contentType: false,
processData: false,
beforeSend: function (request) {
$(".loader, .main-loader-overlay").fadeIn("slow");
}
});
。 FirefoxとSafariは、File Field
の属性が空の場合はfilename
という属性を送信しません。 下の画像で、フィールド名 "post_photo"に属性ファイル名がないことが明確に分かります。
私はバックエンドでPython Flaskを使用していますが、フォームから何かが欠けていると、400 Bad Requestがスローされます。 それは、それが空であっても、ファイルフィールドのfilename
属性を送信するため、クロムで作業していた唯一の理由でした。
この問題を解決するには、このis_file_available = len(request.files.keys()) > 0
をバックエンドで使用しました。
関連する問題
- 1. LWUIT ConnectionRequest:ブラックベリーでのリクエストが正しくありません。
- 2. POSTリクエストが正しくありませんか?
- 3. Foursquare APIで400回のリクエストがありません
- 4. Safariレンダリングの丸みを付けたコーナーが正しくありません
- 5. イメージローテーションが正しくありません
- 6. JNI jintArrayの最初の値が正しくありません
- 7. Javascript HTTP GETリクエストはFirefoxとiPad Safariで動作しますが、Mac OS Safariでは動作しません
- 8. サファリ6のブートストラップ入力が正しくありませんか?
- 9. wcf rest 4に投稿しようとすると、リクエストが正しくありません。
- 10. getBoundingClientRect、インラインSVGの高さが正しくありません
- 11. IE8の不透明度が正しくありません
- 12. JavaScript '継承':コンストラクタのプロパティが正しくありません
- 13. UIMapViewでドロップピンとピンの色が正しくありません
- 14. Kubernetesコックピットのユーザー名とパスワードが正しくありません
- 15. ChromeとFirefoxではリモートフォームが正しく完了しましたが、IEはありません
- 16. ラジオボタンのテキスト折り返しが正しくありません
- 17. 'sp_executesql'の近くの構文が正しくありません
- 18. カウントダウンタイマーはChrome/Safariで正しくレンダリングされませんが、Firefoxでは正常に表示されます
- 19. '、'の近くの構文が正しくありません。
- 20. '00'の近くの構文が正しくありません
- 21. エラー '、'の近くの構文が正しくありません
- 22. IE9「no transport」エラー、Firefox/Chromeが動作し、リクエストがクロスサイトではありません
- 23. メソッドの戻り値の型が正しくありません
- 24. コンマ区切りの構文が正しくありません
- 25. XSD +正規表現。ルールが正しくありませんか?
- 26. CKeditor:画像アップロードプラグイン 'アップロードステータス'が正しくありません
- 27. CSSレンダリングが正しくありませんか?
- 28. 見出しタグの位置が正しくありません
- 29. FirefoxでcontentEditableを使用しています: 'bold'が正しくレンダリングされますが、htmlコードが正しくありません。
- 30. ReferenceError:utagはFirefox 45.0.1のプライベートモードでのみ定義されていません