【发布时间】:2015-07-08 03:22:07
【问题描述】:
我在 JavaScript 中有以下代码 (formdata),它在 Mozilla 和 Chrome 中正常工作。当我在 IE 11 中尝试它时,使用 ajax 不能很好地 POST。调用了success函数,但是$_FILES在服务端是空的。
file = _files[i][j];
if(j<_files[i].length){
if(file){
var data = new FormData();
data.append("uploadedimages", file);
console.log("formdata:"+data);
progressElement = $('#divimg_'+i+'_'+j);
progressElement.css('visibility','visible').hide().fadeIn('500');
$.ajax({
url: "<?php echo base_url();?>"+"upload/do_upload",
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
console.log(data);
j++;
if(j<_files[i].length){
uploadmore(i,j);
}else{
i++;
uploadme(i,0);
}
},
xhr: function()
{
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener( 'progress', function( e )
{
if( e.lengthComputable )
{
// Append progress percentage.
var progressValue = ( e.loaded / e.total ) * 100;
console.log( i + ':' + progressValue );
progressElement.find( 'input' ).val( progressValue ).change();
// Listen for clicks on the cancel icon.
$('#stopupload').click( function()
{
if( progressElement.hasClass( 'working' ) )
{
xhr.abort();
progressElement.fadeOut(500);
}
});
if( progressValue == 100 )
{
progressElement.removeClass( 'working' );
}
}
}, false);
return xhr;
}
});
}
else{
console.log("FILE ERROR!");
j++;
uploadmore(i,j);
}
}
【问题讨论】:
-
@guest271314 你能帮帮我吗?
-
更新:它在使用 IE 的其他电脑上工作,除了我的 IE。我们有相同版本的 IE 11 v. 等。我重置为默认我的 iE 但仍然无法正常工作。
-
你解决过这个问题吗?我面临同样的事情?
-
@Merijndk 是的。我不知道主要问题是什么。但它在其他电脑上工作。所有浏览器。只有在我的电脑上它不能正常工作
标签: javascript php form-data jqxhr jquery-html5uploader