gpt4 book ai didi

javascript - 元素的 FormData 不起作用 - Internet Explorer 10

转载 作者:行者123 更新时间:2023-12-01 02:05:46 26 4
gpt4 key购买 nike

我正在使用 jQuery.ajax 上传文件,并且在 Google Chrome、Mozilla Firefox、Opera 等现代浏览器(Internet Explorer 10 除外)中一切正常。

new FormData($('.uploadForm')[0]) 在 IE10 中不起作用,但如果我只尝试使用这段代码: new FormData($('. uploadForm')) 它有效...看起来它不接受特定索引处的元素或其他元素?我不太明白这一点,这就是我寻求帮助的原因。

此示例对于 IE10 是否存在任何解决方法?

JS:

var form = new FormData($('.uploadForm')[0]);
config.progressBar.progressWidth = 0;
$('.uploadForm .valueBox').fadeOut('slow',function(){
$(this).addClass('hidden')
$('.meter').removeClass('hidden').width(config.progressBar.width);
$.ajax({
url: '../../uploads/some.php',
type: 'POST',
xhr: function() {
var myXhr = $.ajaxSettings.xhr();
if(myXhr.upload){
myXhr.upload.onprogress = progress;
}
return myXhr;
},
success: function (res) {
console.log(res)
},
data: form,
cache: false,
contentType: false,
processData: false
});

some.php代码的和平:

foreach($_FILES["file"]["error"] as $key => $value) {
if ($value == UPLOAD_ERR_OK){

$name = $_FILES["file"]["name"][$key];

$arr_files = getimagesize($_FILES["file"]["tmp_name"][$key]);
$width = $arr_files[0];
$height = $arr_files[1];
$mime = $arr_files['mime'];

copy($_FILES['file']['tmp_name'][$key], '../uploads/upload/'.$name);

echo json_encode($_FILES);
}
}

抛出 IE10 错误:SCRIPT5:访问被拒绝。

最佳答案

不要将文件传递到构造函数中,而是使用append,例如:

var formData = new FormData();
formData.append('file', $('input[type=file]')[0].files[0]);

关于javascript - 元素的 FormData 不起作用 - Internet Explorer 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18785024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com