Edited at

IOS11.3でformDataを使って画像とテキストを同時に送ろうとしたら「キャンセル」されてしまう

More than 1 year has passed since last update.

jqueryのajaxを使用して、formDataを使っており、画像とテキストを同時に送る場合、なぜかキャンセルされてしまう現象が起こった。

さっそく解決策

      var ua = navigator.userAgent

var formData_ = new FormData($('#form').get(0));

if(/iPhone/.test(ua)) {
ua.userAgent.match(/iPhone OS (\w+){1,3}/g);
var iosv=(RegExp.$1.replace(/_/g, '')+'00').slice(0,3);
if(iosv === '113') {
if(!$("#image").val()) {
formData_.delete('image'); //name属性をdelete
}
if(!$("#content").val()) {
formData_.delete('content');//name属性をdelete
}
}
}

fileがない場合、fileを消す

textがない場合、textを消す

両方ある場合、何もしない

IOSとiEは、本当にアレですね。