Проблемы с Аяксом.Как преобразовать переменную javascript в переменную php? - PullRequest
2 голосов
/ 30 мая 2019

Я хочу преобразовать переменную javascript в переменную php, чтобы использовать ее в SQL-запросе, но она не работает.

html-код:

<select id = "dep_ID" name = "dep_ID" onchange="myFunction()">

код JavaScript в том же файле:

<script>
    function myFunction(){

        var xo = document.getElementById("dep_ID").value;
        document.getElementById("demo").innerHTML = "You selected: " + xo;

        $.ajax({
            url: 'insert.php',                
            data: {duration: xo},
            type: 'POST',
            success: function(data) {
            alert(data);
            document.getElementById("demo").innerHTML = "You selected: " + <?php echo @$duration;?>;
            }
        });
    }
</script>

код insert.php:

<?php
$duration = $_POST['xo'];
return $duration ;
?>

Я ожидаю вывод переменной dep_ID,но я ничего не получаю.

Ответы [ 2 ]

1 голос
/ 30 мая 2019

Javascript и PHP Systax разные. В ответ на вызов ajax вы получите объект javascript. Таким образом, вам нужно сделать следующие изменения:

document.getElementById("demo").innerHTML = "You selected: " + data.duration;
0 голосов
/ 30 мая 2019

$ переменная продолжительности в коде PHP НЕ определена в файле HTML, который содержит javascript.

Я думаю, вы путаете то, что происходит ДО создания html-страницы, с тем, что происходит КОГДА страница, которую я отображали пользователь выбирает значение, в зависимости от того, что происходит ПОСЛЕ того, как был выполнен вызов ajax и был выполнен insert.php.

Чтобы было ясно, это:

выполняется ДО того, как что-то произошло вв браузере, поэтому $ duration не определена.

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