JQuery Ajax加载的内容无法从父级调用PHP变量

时间:2012-06-22 20:32:15

标签: php jquery ajax

我在父文档中有变量,例如。

$var = 'blah';

然后使用Jquery AJAX调用填充div,该文件具有该行。

<?php echo $var; ?>

目前我正在

Notice: Undefined variable:

我该如何解决这个问题。

3 个答案:

答案 0 :(得分:2)

通过jQuery AJAX请求请求的页面无法访问父页面上定义的变量,因为AJAX请求会创建单独的HTTP请求,这意味着页面没有指向父页面的链接,也无法访问其中定义的任何内容。

您可以尝试通过jQuery AJAX函数的$var参数发送data的值,或者,只需在您通过AJAX请求的页面上重新填充$var。< / p>

答案 1 :(得分:2)

你的$ var和jQuery在同一个php中吗?你需要从你初始化它的php文件中回显$ var。

例如:

a.php只会

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $.ajax({
                    url : "B.php",
                    success : function(out) {
                        $('#out').html(out);
                    }
                });
            });
        </script>
    </head>
    <body>
        <div id="out">
        </div>
    </body>
</html>

B.php

<?php
  $var = "foo";
  echo $var;
?>

答案 2 :(得分:1)

由于JavaScript(jQuery)完全在客户端执行,而AJAX调用只是一个单独的页面请求,因此调用脚本无法知道“父”。我建议您通过GET或POST将$var传递给脚本。