[英]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.