Javascript 通过formData xhr请求过帐数据后无法访问文件数组
我正在开发一个脚本,它应该显示上传文件的上传百分比(非常简单的东西) 我遵循这个例子,在安全方面做了一些轻微的修改 在阅读了git上的所有注释之后,我认为它可以很好地工作——但是由于某种原因,当我试图在PHP中输出Javascript 通过formData xhr请求过帐数据后无法访问文件数组,javascript,php,Javascript,Php,我正在开发一个脚本,它应该显示上传文件的上传百分比(非常简单的东西) 我遵循这个例子,在安全方面做了一些轻微的修改 在阅读了git上的所有注释之后,我认为它可以很好地工作——但是由于某种原因,当我试图在PHP中输出$\u文件数组时,它返回一个空数组 这是我的脚本 JavaScript(static.example.com/uploader.js): let formData = new FormData(), xhr = new XMLHttpRequest(); // file i
$\u文件
数组时,它返回一个空数组
这是我的脚本 JavaScript(
static.example.com/uploader.js
):
let formData = new FormData(),
xhr = new XMLHttpRequest();
// file is defined earlier
formData.append("file", file);
xhr.open("POST", "//ajx.example.com/upload.php");
xhr.onprogress = function(e){
console.log("Uploading");
}
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200)
console.log("Server response:", JSON.parse(xhr.responseText));
else
return console.error("There was an error.");
}
}
xhr.send(formData);
header("Access-Control-Allow-Origin: http://www.example.com", false);
header("Content-type: application/json;charset=utf-8", false);
/*
* returns array(0){}
*/
echo var_dump($_FILES);
die();
PHP(ajx.example.com/upload.PHP
):
let formData = new FormData(),
xhr = new XMLHttpRequest();
// file is defined earlier
formData.append("file", file);
xhr.open("POST", "//ajx.example.com/upload.php");
xhr.onprogress = function(e){
console.log("Uploading");
}
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200)
console.log("Server response:", JSON.parse(xhr.responseText));
else
return console.error("There was an error.");
}
}
xhr.send(formData);
header("Access-Control-Allow-Origin: http://www.example.com", false);
header("Content-type: application/json;charset=utf-8", false);
/*
* returns array(0){}
*/
echo var_dump($_FILES);
die();
我不知道为什么会发生这种情况,我的代码似乎非常好 感谢所有帮助,
干杯 编辑:
我注意到上传程序在一些文件上运行良好
php.ini
已针对所有内容正确配置。但是如果我测试两个mp3文件(例如),其中一个mp3文件将无法工作。这就好像有些文件已经损坏,但它们没有损坏。这个文件定义了吗?@u\u mulder确实是:)可能会评论说,var\u转储($\u POST)实际上是什么
返回?@DavidR完全一样:(您的php.ini
是否将文件上传设置为ON
?