如何通过Ajax调用将变量从PHP传递到Javascript

3
我读了这篇文章,并认为答案中的技术可以与ajax调用一起使用。我在下面放置了我的ajax和php代码,但它不起作用。客户端无法识别“passed”变量。我不知道原因是什么,也不知道如何解决。

Javascript

var irrelevant = 'irrelevant';

   $('body').click(function(){


            $.ajax({
            type: 'POST',
            url: 'test.php',
            data: {mydata: irrelevant},    
            success: function(){

            console.log('worky');

            alert(myvar); // NOT worky!

                    }

            });

    });

PHP 文件

<?php


$thing = 10;


?>


<script>

var myvar = "<?php echo $thing; ?>";

</script>

1
在你提到的问题中没有被接受的答案。 - Michał Rybak
抱歉,我正在阅读评论,没有留意绿色勾选标记。 - William
2个回答

4

在您的 ajax.success 中尝试这个。

success: function(data){
   console.log('worky');
   alert(data); // It should now, worky!
}

在你的PHP代码中,需要使用以下方法:
<?php

   echo 10;

?>

1
工作得很好,不过最好有一个示例或变量数组,而不是单个变量;-) - luke_mclachlan

0

在 PHP 中尝试这个

<?php  $thing = 10; ?>


<script>

var myvar = "<?php echo $thing; ?>";

</script>

JavaScript

$('body').click(function(){

            $.ajax({
            type: 'POST',
            url: 'test.php',
            data: {mydata: irrelevant},    
            success: function(data){
                $("#hiddendiv").html(data);
                alert(myvar);
            }
       });  
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接