отправка php var через ajax - PullRequest
       6

отправка php var через ajax

0 голосов
/ 04 октября 2018

почему это работает:

<script>
$(document).ready(function(){
    $(".div1").click(function(){
        var table = "test";  
        $.post( "clicked.php", {tablename1:table},function( data ) {
              $( ".result" ).html( data );
        });
    });
});
</script>

но это не так?

<script>
$(document).ready(function(){
    $(".div1").click(function(){
        var table = <?php echo $tablename; ?>;  
        $.post( "clicked.php", {tablename1:table},function( data ) {
              $( ".result" ).html( data );
        });
    });
});
</script>

Разве это не способ отправить php var через ajax ??

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Как уже упоминалось в комментариях, вы пропускаете кавычки вокруг значения.

Вы должны использовать json_encode() для перевода значения PHP в соответствующий синтаксис литерала JavaScript.

var table = <?php echo json_encode($tablename); ?>;

В дополнение к цитированию строки, она также будет экранирована при необходимости.Этот метод может использоваться для большинства типов значений.

0 голосов
/ 04 октября 2018

Строки JavaScript должны быть заключены в кавычки («строка»).Код var table = <?php echo $tablename; ?>; приведет к (при условии, что имя таблицы равно foobar) - var table = foobar, что является строкой, не заключенной в кавычки.Я надеюсь, что вы видите, куда это идет ...

Попробуйте это как решение:

var table = "<?php echo $tablename; ?>"; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...