繁体   English   中英

使用formdata Internet Explorer 10上传Ajax文件

[英]Ajax file upload using formdata Internet Explorer 10

我一直在寻找解决方案,但从未成功。 我有一个带formdata的ajax调用,用于将图像上传到服务器。 代码看起来像

$.ajax({

    type:'POST',

    url:'url',

    data:UPLOAD_DATA,

    processData:false,

    contentType:false,

    cache:false,

    timeout:10000,

    mimeType:'multipart/form-data',

    dataType:'json',

    success:function(data){

        if(data.success){

            alert(data.success);

        }else if(data.redirect){

        window.location.redirect=data.redirect;

        }else{

            alert(JSON.stringify(data));

        }

    }

});

在发送控制台时,仍然显示“待处理”。 该代码在除ie10之外的所有浏览器中均有效

请帮我..

先前的IE版本(8及以前的版本)不接受对多部分表单的ajax提交的JSON响应。 因此导致永远不会进入成功回调,并且在某些情况下建议用户将JSON响应下载为文本文件。

我想IE10不会犯同样的错误。 如果是这样,您可能会考虑以文本形式返回JSON内容,将request dataType设置为text,然后在成功回调中将文本响应解析回JSON客户端。

但是,在寻找头痛之前,请先看一下jQuery Form插件 ,它将处理表单的Ajax提交(是否为多部分),并提供有用的uploadProgress之类的回调。

我很抱歉这是一个愚蠢的错误。 我认为通过提供完整的https://“ ...”路径,可以将URL作为服务器中相对路径的url在Internet Explorer中不支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM