我目前正在研究拖拉机删除用户可以上传照片的应用程序。当用户将照片拖动到拖动区域时,javascript函数会在我将event.dataTransfer.files
数组发送到ddUpload
函数的位置启动,然后我使用FormData
通过{{1}发送它}}。
但是,即使我将数据附加到AJAX
变量,formdata
变量也会返回undefined
拖放代码
dropzone.ondrop = function(e){ // dropzone = document.getElementById("dropzone")
e.preventDefault();
ddUpload(e.dataTransfer.files); // send data to custom function
}
var ddUpload = function(files){
var formdata = new FormData(); // create empty FormData
for(var i = 0; i < files.length; i++){ // loop through every photo
formdata.append("file[]",files[i]); // then append the current item to a file array
}
var ajax = new ajaxObj("POST","/php_parsers/photo_system.php"); // ajaxObj is a prewritten function for XMLHttpRequest by me
ajax.onreadystatechange = function(){
if(ajaxReturn(ajax) == true){ // if ajax.readyState == 4 && ajax.statusCode == 200
console.log(ajax.responseText); // echo responseText
}
}
ajax.send(formdata); // send formdata to PHP server
}
结果:
console.log(formdata[i]); // returns back undefined
console.log(formdata); // returns back Object FormData
console.log(files); // gives back the proper values
基本上,如果我向formdata
添加任何内容然后回显它,它总是会返回undefined
。
所以问题是为什么formdata
为空且undefined
?