Javascript Ajax JS/PHP图像上载程序不工作

Javascript Ajax JS/PHP图像上载程序不工作,javascript,php,ajax,form-data,Javascript,Php,Ajax,Form Data,我尝试了多种方法,并遵循了Stkoffl和W3规范中的许多问题,但仍然不知道 我有一个表单输入: <input type="file" multiple accept="image/*" id="item-image-upload" > 当我console.log(文件)时,我得到的所有文件都很好。但是,formData不起作用。我还尝试添加任意项,如下所示: formData.append("Apple", 1); 我得到的答复是空的。服务器在php中的驻留方式如下:

我尝试了多种方法,并遵循了Stkoffl和W3规范中的许多问题,但仍然不知道

我有一个表单输入:

<input type="file" multiple accept="image/*" id="item-image-upload" >
当我
console.log(文件)时,
我得到的所有文件都很好。但是,formData不起作用。我还尝试添加任意项,如下所示:

    formData.append("Apple", 1);
我得到的答复是空的。服务器在php中的驻留方式如下:

public function uploadImage(){
    return json_encode(array_merge($_REQUEST, $_FILES));
}

现在我99%确定它是您的标题,如果您查看日志或打开PHP警告,您将在第0行看到
警告:多部分/表单数据POST数据中缺少边界未知

我从中复制了它(并添加了标题行并删除了输入文件),然后在我的开发人员对话框上的脚本上运行它,该脚本设置为“呼出所有错误”,我得到了该错误,后面是一个空数组

var formData = new FormData();

formData.append("username", "Groucho");
formData.append("accountnum", 123456); // number 123456 is immediately converted to a string "123456"

// JavaScript file-like object
var content = '<a id="a"><b id="b">hey!</b></a>'; // the body of the new file...
var blob = new Blob([content], { type: "text/xml"});

formData.append("somefiles[]", blob);

var request = new XMLHttpRequest();
request.open("POST", "MYDEVBOX/testpost.php");
// remove the line below and it works
request.setRequestHeader("Content-Type", "multipart/form-data");
request.responseType = "json";
request.send(formData);
var formData=new formData();
formData.append(“用户名”、“Groucho”);
formData.append(“accountnum”,123456);//数字123456立即转换为字符串“123456”
//JavaScript类文件对象

var content='

formData.append(“Apple”,1)
也不起作用吗?嗯,我当时不知道。不过我还是喜欢这个要点。您的表单标记是否包含
enctype=“multipart/form data”
?@RaphaelRafatpanah“FormData接口提供了一种方法,可以轻松构造一组表示表单字段及其值的键/值对,然后可以使用XMLHttpRequest.send()轻松发送这些键/值对方法。如果将编码类型设置为“multipart/form data”,它将使用与表单相同的格式。我也做过类似的事情,从我的工作代码中可以看到的唯一区别是我没有手动设置标题,并且我传递了一个(伪造的)filename作为
formData.append的第三个参数让我测试一下。不过谢谢。在深入了解原因之后做了编辑,当我在网络面板中深入了解它时,这非常有意义。是的!谢谢。我正在做不必要的标题。
var formData = new FormData();

formData.append("username", "Groucho");
formData.append("accountnum", 123456); // number 123456 is immediately converted to a string "123456"

// JavaScript file-like object
var content = '<a id="a"><b id="b">hey!</b></a>'; // the body of the new file...
var blob = new Blob([content], { type: "text/xml"});

formData.append("somefiles[]", blob);

var request = new XMLHttpRequest();
request.open("POST", "MYDEVBOX/testpost.php");
// remove the line below and it works
request.setRequestHeader("Content-Type", "multipart/form-data");
request.responseType = "json";
request.send(formData);