Обновление образа src с использованием AJAX и PHP - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь использовать AJAX и PHP для обновления изображения src на основе выбранной опции радиопереключения.

<img class="img-responsive center-block" src="../images/computers/custom-pc1.png" id="buildimage" />

<script>
    function updateImage(caseid) {
            selectmenuID = document.getElementById(caseid);

            var xhttp = new XMLHttpRequest();
            xhttp.onreadystatechange = function () {
                if (this.readyState == 4 && this.status == 200) {
                    document.getElementById("buildimage").src = xhttp.responseText;
                }
            };
            xhttp.open("POST", "displayCase.php", true);
            xhttp.send("id=" + selectmenuID);
    };
</script>

displayCase.php:

<?php

require_once("config.php");

$id = $_POST['id'];

$stmt = mysqli_prepare($link, "SELECT link FROM cases WHERE id=?");
if(!$stmt) {
    die($link->error);
}
$stmt->bind_param("i", $id);

if(!$stmt->execute()) {
    die($stmt->error);
}
$stmt->bind_result($image);
$stmt->fetch();
$stmt->close();
echo $image;

?>

У меня проблема с файлом php:

неопределенный индекс: id

... в этой строке:

$id = $_POST['id'];

Я бы хотел обновить src на основе идентификатора выбранной кнопки. Что я делаю не так? Спасибо.

1 Ответ

1 голос
/ 02 июня 2019

Вы сделали все правильно, за исключением незначительного упущения: вы забыли настроить тип данных данных POST.

Просто добавьте соответствующий заголовок после создания XMLHttpRequest:

xhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

Как только вы добавите это, вы обнаружите, что ошибка с отсутствующим элементом $_POST устранена в вашем PHP.

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