我有一个jQuery脚本,它使用Ajax将文件发布到ASP页面。
它适用于Chrome,但我遇到了IE9的问题。
因为IE9没有读取FormData()函数,所以我添加了if语句:
if(typeof FormData == "undefined"){
但现在我在控制台中收到此错误:
SCRIPT5007: Unable to get value of the property 'length': object is null or undefined
以下是完整代码:
<INPUT type="file" name="file" id="file">
<a id="upload_file" class="button">
Upload File
</a>
<script>
$("a#upload_file").click(function(){
if(typeof FormData == "undefined"){
var data = [];
jQuery.each(jQuery('#file')[0].files, function(i, file) {
data.push('file-'+i, file);
});
} else {
var data = new FormData();
jQuery.each(jQuery('#file')[0].files, function(i, file) {
data.append('file-'+i, file);
});
}
jQuery.ajax({
url: 'file_save.asp',
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
$("#upload_success").text("Your file has uploaded successfully.");
$("#file_location").val("files/" + data);
$(".filename").html("");
}
});
});
</script>