Php не получает переменную через $ _POST - PullRequest
0 голосов
/ 09 июня 2018

Php не получает переменную через $ _POST.Я пытаюсь передать переменную с помощью ajax на страницу php, но php принимает переменную как NULL.Подскажите, что за ошибка и как ее исправить?

jquery код:

var imgPath;


$(".close_modal_clear_cover").on("click", function(e) {

    imgPath = $("#cover_preview").attr('src');
    $.ajax({
    url: "/management/ajax_scripts/img_delete.php",
    type: "POST",
    data: imgPath,
    async: true,
    cache: false,
    contentType: false,
    dataType: "json",
    processData: false,
    success: function (returndata) {
            console.log(imgPath); //url of image
            console.log(returndata); // NULL
        }
    });

});

img_delete.php код:

if (isset($_POST['imgPath'])) {
$path= $_POST['imgPath'];
unlink($path);
$response = $path; 

} else {
  $response = "false";
}

echo json_encode($response);

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Спасибо @Reflective за помощь.Изучив, какие данные поступают в img_delete.php и немного погуглив, я нашел решение.У меня почему-то contentType был указан как false, но это было необходимо 'application / x-www-form-urlencoded;charset = UTF-8 '.

Это глупая ошибка, но вдруг кто-то с таким же столкнулся.

$(".close_modal_clear_cover").on("click", function(e) {
    // imgPath = $.session.get("imgCover");
    imgPath = JSON.stringify($("#cover_prewiew").attr('src'));
    $.ajax({
    url: "/management/ajax_scripts/img_delete.php",
    type: "POST",
    data: {imgPath: imgPath},
    async: true,
    cache: true,
    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
    dataType: "json",
    processData: true,
    success: function (returndata) {
            console.log(imgPath);
            console.log(returndata);
        }
    });

});
0 голосов
/ 09 июня 2018

data: imgPath должно быть data: {imgPath: imgPath}, и вы должны изменить $_GET s на $_POST s в бэкэнде php

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