当我在IE 8/9中使用FormData()上传文件时,它显示以下错误。请帮助....
网页错误详情
用户代理:Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) 时间戳:星期三,2014年4月23日14:06:30 UTC
消息:'FormData'未定义 行:6 查尔:13 代码:0
mycode的:
$('#UploadImage').click(function () {
var formData = new FormData();
formData.append('file', $('input[type=file]')[0].files[0]);
var filevalue = $('file').val();
$.ajax({
url: "/controller/action",
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function (data, status, xhr) {
$('#FileId').val(data);
$('#file').val('');
var msg = "You have successfully Uploaded a Image.";
$("#Error").html(msg + xhr.status + " " + xhr.statusText);
$('#dialog').show();
$('#DialogMessage').text(msg);
$("#dialog").dialog({
modal: true,
resizable: false,
buttons: {
"Yes": function () {
$(this).dialog("close");
}
}
});
},
error: function (err) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
alert(msg);
$("#Error").html(msg + xhr.status + " " + xhr.statusText);
}
}
});
});
Html代码:
<table class="dialogTable">
<tr>
<td><b>Select your file</b></td>
</tr>
<tr>
<td>
<input type="file" name="file" id="file" accept="gif|jpeg|bmp|png|jpg" /></td>
</tr>
</table>
<table>
<tr>
<td>
<input type="button" id="UploadImage" value="Upload Image" />
</td>
</tr>
当我单击IE8中的UploadImage按钮时,在FormData()
中显示错误答案 0 :(得分:0)
@JayBlanchard部分正确。虽然您可以在现代浏览器中通过ajax上传文件,但这不包括IE9及更早版本。如果您使用的是IE9及更早版本,则必须创建一个包含定位隐藏iframe的<input type="file">
元素的表单,然后提交表单。这将导致文件上载不会重定向您的主浏览上下文(窗口)。