【发布时间】:2014-01-17 21:26:21
【问题描述】:
我正在开发自己的this 版本。
一切正常,除了 POSTed 值为空。 PHP 端的 var_dump 显示一个空数组。怎么了?
function readfiles(files)
{
console.log('Reading Files...');
console.log(files);
console.log("There are " + files.length + " elements to this array.");
var formData = new FormData();
formData.append('file', files[0]);
console.log(formData);
console.log("Posting XHR request...");
// now post a new XHR request
var xhr = new XMLHttpRequest();
xhr.open('POST', '/devnull.php',false);
console.log("sending data...");
console.log(formData);
xhr.send(formData);
}
$(document).ready(function(e) {
$("#holder").on('dragenter',function(e) {
e.preventDefault();
$(this).addClass('hover');
});
$("#holder").on('dragleave',function(e) {
e.preventDefault();
$(this).removeClass('hover');
});
$("#holder").on('dragover',function(e) {
e.preventDefault();
if(!($("#holder").hasClass('hover')))
$("#holder").addClass('hover');
});
$("#holder").on('drop',function(e) {
e.preventDefault();
console.log(e.originalEvent.dataTransfer.files);
$(this).removeClass('hover');
readfiles(e.originalEvent.dataTransfer.files)
return false;
});
});
Firebug 告诉我数组中有一个元素:
FileList { 0=File, length=1, item=item(), more...}
但是在我们将它附加到 FormData 对象之后,我得到了这个:
FormData { append=append()}
PHP 端的最终 var_dump 是这样说的:
<pre>array(0) {
}
</pre>
【问题讨论】:
-
我的问题是,当我应该查看 $_FILES 时,我正在查看 $_POST。谢谢 EE...experts-exchange.com/Programming/Languages/Scripting/JavaScript/…
标签: php jquery post xmlhttprequest