1

ユーザーが写真を選択できるフォームを作成しました。選択すると、フォームは (標準の送信ボタンではなく) ajax 経由で自動的に送信されます。すべてのブラウザで問題なく動作しますが、モバイル版の Safari では動作しません。

私のHTML:

<form id="myForm" action="php/upload.php" method="post">
<input name="uploadedfile" type="file" id="uploadPhotoButton"/>
</form>

私のJavaScript:

$(':file').change(function(){
    var formData = new FormData($('form')[0]);
    $.ajax({
        url: 'php/upload.php',  //server script to process data
        type: 'POST',
        success: uploadComplete,
        // Form data
        data: formData,
        //Options to tell JQuery not to process data or worry about content-type
        cache: false,
        contentType: false,
        processData: false
    });
});

iPhone Safari では、変更ハンドラ関数は正常に呼び出されますが、ajax 呼び出しは失敗します。

助言がありますか?

4

1 に答える 1

0

したがって、iOS6 では、safari は post 呼び出しをキャッシュしているようです... 解決策は次のとおりです。iOS 6 の Safari は $.ajax の結果をキャッシュしていますか?

于 2012-12-04T22:17:38.760 に答える