PHP无法使用jquery load()访问在加载的php页面中声明的变量

时间:2016-07-21 19:09:56

标签: javascript php jquery ajax

通常我可以从不同的php文件中获取php变量:

$myVar = 'hello';
require 'header.php'

然后在header.php中我可以使用$ myVar。但我无法访问我在jquery中使用ajax加载的变量。例如:

的index.php:

<html>
<body>
   <div id="myDiv"></div> 
</body>
</html>

在脚本中我有:

$(#myDiv).load('newPage.php')

newPage.php:

$ myLoadedVar ='loaded var';

但是我无法从index.php访问$ myLoadedVar,是否可以执行此操作或者您无法访问使用ajax创建的php变量?

1 个答案:

答案 0 :(得分:1)

PHP是一种服务器端语言,而JavaScript是一种客户端语言。将PHP数据导入JavaScript的唯一方法是以某种方式输出数据。如果你想要完整的输出,只需回显它。如果要将一堆简单的PHP变量加载到JavaScript中,可以将需要JS知道的所有变量添加到数组中,然后json_encode将它们添加到其中。

$firstName = 'John';
$lastName = 'Doe';
$outputArray = array('firstName' => $firstName, 'lastName' => $lastName);
echo json_encode($outputArray);

然后,当ajax函数可以将此数据作为对象检索时,您可以在JavaScript中使用result.firstName

传递复杂项目是不可能的,例如将数据库连接作为属性的那些。