#javascript #php #web
#javascript #php #веб
Вопрос:
На сайте JS необходимо отправить ajax, содержащий входной файл, для загрузки и ввода текстов
var formdata = new FormData();
formdata.append("id",$('#id').val());
formdata.append("upload_url",$('#upload_url').val());
formdata.append("type",$('#type').val());
formdata.append("file",$('#upload').prop('files')[0]);
formdata.append("label",$('#label').val());
formdata.append("filter_from",$('#filter_from').val());
formdata.append("filter_to",$('#filter_to').val());
formdata.append("zone_geographique",$('#zone_geographique').val());
formdata.append("actif",$('#actif').val());
formdata.append("leafs",$('#affectedLeafs').val());
$.ajax({
url: 'form.php?action=formation_save',
data: formdata,
processData: false,
contentType: false,
type: 'POST',
success: function() {
$('.formationSection > div').slideToggle();
}
});
Но когда на стороне PHP в файле formation_save я делаю a $_POST
, PHP возвращает мне NULL .
и когда я это делаю file_get_contents("php://input");
, PHP также возвращает мне NULL
Но почему? Как заставить его работать?
PHP-код
<?php
$postValues = $_POST;
$phpinput = file_get_contents("php://input");
var_dump($postValues);var_dump($phpinput);
Комментарии:
1. конкретная форма в formdata, например
var formdata = new FormData(#idform);
2. укажите также.
enctype: 'multipart/form-data',
3. Я протестировал этот код, и запрос выглядит абсолютно нормально в консоли браузера; он использует multipart / form-data, как и предполагалось. Можете ли вы показать свой PHP-код?
4. @SimoneRossaini Я не думаю, что вам нужно указывать идентификатор формы, если вы не хотите захватывать поля этой формы
5. @swadhwa я не понимаю, зачем добавлять все входные данные вместо использования
formdata(form)
и добавлять только изображение.