使用POST方法,AJAX和jQuery以一种形式上载数据和文件(错误)

时间:2019-01-03 21:02:14

标签: javascript php jquery ajax

我有问题。 formData.append("id_element",1)不会将字段添加到formData中。我找到了很多解决方法,但就我而言,它无法正常工作。

此处的PHP代码:

var_dump($_FILES);

$("#hw-upload_image-form").submit(function(e) {
        e.preventDefault();

        var formData = new FormData(this);
        formData.append("id_element",1); // doesn`t work here
        $.ajax({
            type:"POST",
            processData: false,
            contentType: false,
            cache: false,
            url:$(this).prop('action'),
            data:formData,
            success:function (data) {
                console.log(data); // show returned data from php
            }
        });

});
<form action="action.php"  method="post" enctype="multipart/form-data" id="hw-upload_image-form">
    <input type="file" name="hwImage"> <!-- hw = homework (just for you :) -->
</form>


结果(从控制台)

array(1) {
  ["hwImage"]=>
  array(5) {
    ["name"]=>
    string(70) "73b38ef5d1f5849ea800c18990acde94_ce_1920x1200x0x0_cropped_800x427.jpeg"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(36) "D:\OSPanel\userdata\temp\php9F48.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(68411)
  }
}

1 个答案:

答案 0 :(得分:0)

我已经知道我的错误了。

$_FILES仅显示文件数据,但是如果我想查看id_element,则必须使用$_POST

结果是:

array(1) {
  ["id_element"]=>
  string(1) "1"
}