gpt4 book ai didi

php - jQuery AJAX上传系统IE问题

转载 作者:行者123 更新时间:2023-11-28 09:44:58 25 4
gpt4 key购买 nike

我在使用 Internet Explorer 时遇到问题

这是一个使用 AJAX 和 jQuery 的脚本示例,在其他浏览器中工作正常,但在 IE 中则不然

index.html

<form enctype="multipart/form-data" method="post">
<input name="file" type="file" multiple="true" id="file" />
<input type="button" value="Upload" /> or clic "U"
</form>

ajax.js

$(':button').click(function(){
var formData = new FormData($('form')[0]);
$("#data").html(formData);
$.ajax({
url: 'upload.php', //server script to process data
type: 'POST',
xhr: function() { // custom xhr
myXhr = $.ajaxSettings.xhr();
if(myXhr.upload){ // check if upload property exists
myXhr.upload.addEventListener('progress',progressHandlingFunction, false); // for handling the progress of the upload
}
return myXhr;
},
//Ajax events
//beforeSend: beforeSendHandler,
success: function(html) {
$("#php").html(html);
$("#file").val('');
},
error:function(html) {
$("#php").html(html);
},
enctype: 'multipart/form-data',
// Form data
data: formData,
//Options to tell JQuery not to process data or worry about content-type
cache: false,
contentType: false,
processData: false
});
});

在其他浏览器中工作正常,但在 OperaIE 中无法工作。

这是 IE 上的 CONSOLE(F12) 错误

SCRIPT5009: 'FormData' is undefined 
ajax.js, line 53 character 9

我应该怎么做才能解决这个问题?

最佳答案

SCRIPT5009: 'FormData' is undefined ajax.js, line 53 character 9 this is the code

假设您的错误就在此处,请将您的 FormData 方法移至您上面发布的代码上方。

示例:

function FormData (form) {
....
}

$(':button').click(function(){
var formData = new FormData($('form')[0]);
$("#data").html(formData);
$.ajax({
url: 'upload.php', //server script to process data
type: 'POST'...

编辑

显然,IE 不支持 FormData。但是,您可以像这样使用 jQuery 的 serialize:

var formData = $('form').serialize();

关于php - jQuery AJAX上传系统IE问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890178/

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