MacとiOSのSafariでのファイル選択有りのフォームの送信がうまくいかないケースがありました。

Submitボタンを押したときにChromeのNetworkに何も現れないのでしばらくはまりましたが、そのものズバリのバグがSafariにあることがわかりました。

Safari 11.1: ajax/XHR form submission fails when input[type=file] is empty
UPDATE: As of Webkit build r230963, this issue has been resolved in Webkit. =========== Since the recent Safari 11.1 update on macOS and iOS, as well as in Safari Technology Preview 11.2, the $.a...

ファイルinputが空の状態のときはajaxの送信前に該当のinputをdisabledにしておき、送信データが作られたあとはdisabledを外して元に戻しておくとやると回避できる、というコードが紹介されていました。

こちらのQiita記事のコードのほうがdata-safari-temp-disabledみたいにinputを限定するような工夫があるので良さそうに思い、こちらのコードで回避するに至りました。

Qiita
「特定のiOS端末だけ投稿時に400 Bad Requestが返ってくる」・・・突然のバグ報告をもらい、同僚の @elim さんと一緒に四苦八苦しながら調査した結果、最新のSafariのバグであることを突き止めた話です。 ## Sa...