首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery文件上传插件-在IE < 10中不触发失败回调

jQuery文件上传插件-在IE < 10中不触发失败回调
EN

Stack Overflow用户
提问于 2014-01-17 02:48:23
回答 1查看 2.8K关注 0票数 4

我正在使用https://github.com/blueimp/jQuery-File-Upload

它在现代浏览器中使用XHR文件上传,在旧版中使用隐藏的iframe上载(8,9)。

当文件验证失败时,服务器返回4xx状态代码(错误/失败)。

代码语言:javascript
运行
复制
$('#fileupload').fileupload({
    url: url,
    dataType: 'json',
    done: function (e, data) {
       console.log("done")
    },
    fail: function (e, data) {
       console.log("fail")
    }
})

然而,在旧式中,即使我发送4xx状态代码,也会调用已完成的回调。有没有办法让它调用失败回调(https://github.com/blueimp/jQuery-File-Upload/wiki/Options#fail)并读取响应体或状态代码?

我认为它可能需要使用隐藏的iframe方法来上传文件,但是我在文档中找不到任何具体的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-17 16:58:37

我应该检查一下常见问题

代码语言:javascript
运行
复制
// By default, the iFrame Transport handles all responses as success,
// so we override the iFrame to JSON converter to handle error responses:

$.ajaxSetup({
    converters: {
    'iframe json': function (iframe) {
        var result = iframe && $.parseJSON($(iframe[0].body).text());
        if (result.error) {
            // Handling JSON responses with error property:
            // {"error": "Upload failed"}
            throw result.error;
        }
        return result;
    }
  }
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21176964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档