Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   formData не работает multiple values (https://javascript.ru/forum/misc/76389-formdata-ne-rabotaet-multiple-values.html)

Ким чен ин 08.01.2019 11:16

работает, вот я и пытаюсь разобраться
Цитата:

Array
(
[images] => Array
(
[name] => Array
(
[0] => fdd.png
)

[type] => Array
(
[0] => image/png
)

[tmp_name] => Array
(
[0] => /tmp/phpMszSXQ
)

[error] => Array
(
[0] => 0
)

[size] => Array
(
[0] => 31689
)

)

)

laimas 08.01.2019 11:36

Сеть у себя проверяйте - запрос с клиента есть, сервер отвечает? А если отвечает, то какие заголовки он принимает, может ваш Ajax банально отправляет application/x-www-form-urlencoded?

Ким чен ин 08.01.2019 11:46

так console.log где я ответ смотрю до ajax, до сервера на этот момент даже не доходит еще.
Да и сервер ответ отдает нормально, если квадратные скобки убрать ответ есть и в консоле, и от срвера
Я вот думаю, vue крутится на vue cli (Standard Tooling for Vue.js Development )
может он чета мутит...
С другой стороны этоже броузер код выполняет, на тот момент vue cli уже касательства не имеет

Ким чен ин 08.01.2019 12:11

Вложений: 1
если скобки убираю, работает
formData.append('images',file);

laimas 08.01.2019 12:11

Цитата:

Сообщение от Ким чен ин
Да и сервер ответ отдает нормально

Это как понимать?

laimas 08.01.2019 12:12

Цитата:

Сообщение от Ким чен ин
если скобки убираю

Какие, откуда?

Ким чен ин 08.01.2019 12:15

напал на след, добавил в ваш код console.log и тоже фиг
function send(f) {
            var xhr = new XMLHttpRequest(),
                data = new FormData();

            for(var i of f.files) data.append('images[]', i); //проблемы с поддержкой
            console.log(data.getAll('images'))
            xhr.open('POST', location);

            xhr.onload = function() {
                if (xhr.status == 200) {
                    alert(xhr.responseText)
                }
            }

            xhr.send(data);
        }

Ким чен ин 08.01.2019 12:20

пардон, ответ от сервера хоть и 200 но пустой
скобки отсюда data.append('images[] <- эти

laimas 08.01.2019 12:30

То есть этот код вставлен на страницу, в которой проблемы?

Ким чен ин 08.01.2019 12:39

Вложений: 1
нет, этот код в пустой странице, если открыть файл выскакивает
print_r($_FILES, 1), все показывает
но при этом в консоле пустой массив, как и у меня
for(var i of f.files) data.append('images[]', i); //проблемы с поддержкой
console.log(data.getAll('images'))
это значит что может оно и работает, но я этого просто не вижу, консоль не показывает, и ответ сервера пустой
буду думать


Часовой пояс GMT +3, время: 11:26.