请注意之间的不同之处在于$ a的包括的范围(文件)。就绪(函数(){})这是什么两个代码
原来的代码是:
var files = [];
$(document).ready(function(){
$("input").change(function(){
files = this.files;
});
});
$("#upload-btn").click(function(){
var fd = new FormData();
for (var i = 0; i < files.length; i++) {
fd.append("file", files[i]);
}
$.ajax({
url: "/upload/",
method: "POST",
data: fd,
contentType: false,
processData: false,
cache: false,
success: function(data){
console.log(data);
}
});
});
改变的代码是:
var files = [];
$(document).ready(function(){
$("input").change(function(){
files = this.files;
});
$("#upload-btn").click(function(){
var fd = new FormData();
for (var i = 0; i < files.length; i++) {
fd.append("file", files[i]);
}
$.ajax({
url: "/upload/",
method: "POST",
data: fd,
contentType: false,
processData: false,
cache: false,
success: function(data){
console.log(data);
}
});
});
});
点是$所包含的范围(文件)。就绪(函数(){}) 我不知道有什么不同
答案取决于这个脚本的位置,以及这些元素如何以及何时放置在DOM中。 –
“不投入”是什么意思?请你澄清一下。 – Abdel
真正的问题是什么?我假设你想知道为什么上传按钮点击事件已经被准备好了吗?非常简单,在文档加载之前,您无法单击按钮。 I.E.您不必等待document.ready –