Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FormData Ajax未在PHP中发布数据_Php_Ajax - Fatal编程技术网

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);