我正在使用jQuery和$。ajax()-用于提交我的表单字段的函数。请求如下所示:
$.ajax({
url: url,
type: method,
data: formData,
contentType: false,
processData: false,
success: function(data) {
// do some stuff with data
},
timeout: 30000,
error: function(jqxhr,status,error) {
console.log(jqxhr);
}
});
url、method等变量直接取自表单属性。变量formData是一个formData对象,它保存要发送到服务器的所有数据。
几年来,这一切都在所有浏览器中运行良好。但是,自上次更新OS X和iOS以来,当表单中存在type=file的输入时,Safari无法处理此请求。问题是,我没有收到任何错误消息,因此错误回调失败,但其中的jqxhr变量没有消息(statusText:“error”,responseText:)。
您是否知道如何更接近错误消息,以便修复此问题?我已经在Mac OS X上测试了所有其他浏览器,它工作得很好(Safari也做了多年)。