如何使用AJAX和表单数据发送多个数据

时间:2018-12-26 10:33:44

标签: php ajax

我有这段ajax代码,可以将表单数据发送到名为 upload.php

php文件中

我的问题是:我可以毫无问题地传递表单数据,但是我i cannot pass another data with it。每当我这样做时,ajax都不会将数据粘贴到upload.php

这是我的ajax

    function upload(fileid, imgno) {
                $(document).ready(function () {

                    var data = new FormData();
                    jQuery.each(jQuery('#' + fileid)[0].files, function (i, file) {
                        data.append('file-' + i, file);
                    });


                    $.ajax({
                        url: 'includes/upload.php',
                        dataType: 'text', // what to expect back from the PHP script, if anything
                        cache: false,
                        contentType: false,
                        processData: false,
                        data: {
                            data: data,
                            imgno: imgno
                        },
                        type: 'post',
                        success: function (php_script_response) {
                            alert(php_script_response); // display response from the PHP script, if any
                        }

                    });
                });
            }

是我的upload.php

    if (isset($_FILES['file0'])) { //it doesn't pass this condition
      echo 'B';

    }
    $imageNO = $_POST['imgno']; //this gives undefined index.

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

您可以将任何其他字段附加到formData对象,如下所示:

formData.append(name, value);

然后使用ajax将其发送到服务器端:

data: formData,

然后使用$_POST['']$_GET['']在服务器端获取

答案 1 :(得分:0)

您正在通过ajax发送“ file-0”,但是在条件(PHP)中,您正在检查“ file0”。运行网络监视器,查看浏览器真正发送的内容。