Как передать через AJAX одновременно изображение и несколько переменных?

162
13 января 2019, 21:10

тестирую на PHP загружается ли изображение на сервер:

<?
    print_r($_FILES);
?>

Если передаю только картинку:

$.ajax({
    url: 'add_t.php',
    data: ({fd:fd}),
    processData: false,
    contentType: false,
    type: 'POST',
    success: function (data) {
        alert(data); //выводит массив с данными о файле
    }
});

Если несколько переменных:

$.ajax({
    url: 'add_t.php',
    data: ({fd:fd, name:$('.nme').val()}),
    processData: false,
    contentType: false,
    type: 'POST',
    success: function (data) {
        alert(data); //выводит что массив пустой
    }
});

Получается что изображение тогда не передается, и переменная тоже. Что можно сделать?

Код:

<label>фото товара:</label> 
<input type="file" class="form-control ph" style="">
<label>Имя товара:</label> 
<input type="text" class="form-control nme" style="">
<script type="text/javascript">
    function setimage() {
    var $input = $(".ph");
    var fd = new FormData;
    fd.append('img', $input.prop('files')[0]);
        $.ajax({
            url: 'add_t.php',
            data: ({fd:fd, name:$('.nme').val()}),
            processData: false,
            contentType: false,
            type: 'POST',
            success: function (data) {
                alert(data);
            }
        });
}
$(document).ready(function(){
    $('.btn-success').click(function(){
        setimage()
    });
});
</script>
Answer 1
fd.append('img', $input.prop('files')[0]);
fd.append('name', $('.nme').val());
$.ajax({
  ...
  data: fd,
READ ALSO
Как сделать post запрос в Laravel?

Как сделать post запрос в Laravel?

У меня сложилась такая ситуация у меня есть форма в которой нужно получить id, а потом с этой id сделать запрос в БД

170
$_POST - пустой массив, $_GET - работает нормально

$_POST - пустой массив, $_GET - работает нормально

При помощи приложения Postman проверяю следующий код:

147
opencv 2.3.1 подключение

opencv 2.3.1 подключение

Возник вопрос как подключить opencv в проекте, не меняя настроек среды, те

168
Перебор слов в текстовом файле

Перебор слов в текстовом файле

Задача вот какова: вытащить из текстового файла три значения с каждой строки: товар, магазина и ценуЯ создал динамический массив структур...

178