Как отправить несколько данных с помощью AJAX вместе с данными формы - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть этот ajax код для отправки данных формы в php файл с именем upload.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 голосов
/ 26 декабря 2018

Вы отправляете «file-0» по ajax, но в условии (PHP) вы проверяете «file0».Запустите монитор сети и посмотрите, что на самом деле отправляет браузер.

0 голосов
/ 26 декабря 2018

Вы можете добавить любое дополнительное поле к объекту formData следующим образом:

formData.append(name, value);

и затем отправить его на серверную сторону, используя ajax:

data: formData,

Затем извлеките данные на стороне сервера, используя $_POST[''] ИЛИ $_GET[''], какой бы метод вы ни использовали

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...