ajax表单提交不适用于iPhone Safari

时间:2012-12-04 18:55:04

标签: jquery iphone ajax forms safari

我创建了一个允许用户选择照片的表单。选择后,表单将通过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调用失败。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

所以看来在iOS6中,safari缓存后调用......解决方案在这里:Is Safari on iOS 6 caching $.ajax results?