FormData Ajax未在PHP中发布数据
希望你能帮我解决我的问题 问题是,我将我的FormData Ajax未在PHP中发布数据,php,ajax,Php,Ajax,希望你能帮我解决我的问题 问题是,我将我的数据放在表单数据中,但当我在php文件中使用echo调用它们时,没有值和数据存在,并且给了我错误 未定义变量 但是当我使用var\u dump()或print\u r()时,它会显示所有值。如果我var\u dump图像文件,它也会抛出一个错误 在html中: <form id="form" action="myurl.php" method="post" enctype="multipart/form-data" onsubmit="return
数据
放在表单数据
中,但当我在php文件中使用echo
调用它们时,没有值和数据存在,并且给了我错误
未定义变量
但是当我使用var\u dump()
或print\u r()
时,它会显示所有值。如果我var\u dump
图像文件,它也会抛出一个错误
在html
中:
<form id="form" action="myurl.php" method="post" enctype="multipart/form-data" onsubmit="return false">
<input type="file" name="image" accept="image/*"/>
<input type="text" name="description"/>
<input type="submit" />
</form>
现在在我的myurl.php
php文件中
var_dump($_POST);
var_dump($_FILES);
我们实际上不使用第三方脚本
,比如jQuery
。我们练习本机javascript
语言
谢谢。您不必手动将元素附加到表单数据,而是从表单本身创建表单数据
为表单命名name=“上传图像”
<form id="form" action="myurl.php" name="upload-image" method="post" enctype="multipart/form-data">
<input type="file" name="image" accept="image/*"/>
<input type="text" name="description"/>
<input type="submit" />
</form>
选中这里,HTML文件输入,“datas.append”(“file_image”,fileInputElement.files[0]);“@BhupeshKushwaha我也这么做了,但是当我使用var_转储文件时,没有任何值,但在post中有一个值,该值是图像临时所在的位置。您尝试过吗encodeURIComponent@kim-dev读到这个url:你给你的表单起名字了吗?我已经弄明白了。我必须先把window.load函数装入,这样它将在窗口完全加载后加载名称,但现在的问题是,我发送的数据无法以特定方式获取,如果我将它们从未定义的变量中回显,但当我变量转储它们时,它将以数组形式显示,与PHP中的此问题类似,请使用$file=$$FILES['image'];$fileName=$file['name'];$fileTmpName=$file['tmp_name'];
<form id="form" action="myurl.php" name="upload-image" method="post" enctype="multipart/form-data">
<input type="file" name="image" accept="image/*"/>
<input type="text" name="description"/>
<input type="submit" />
</form>
var form = document.forms.namedItem("upload-image");
var url = form['action'];
form.addEventListener('submit', function(ev) {
var oData = new FormData(form);
var oReq = new XMLHttpRequest();
oReq.open("POST", url, true);
oReq.onload = function(oEvent) {
if (oReq.status == 200) {
alert(oReq.responseText);
} else {
alert(oReq.status + " occurred when trying to upload your file.");
}
};
oReq.send(oData);
ev.preventDefault();
}, false);