如何在第一个php脚本中访问变量`a`的值到第二个php脚本并通过ajax调用

时间:2016-02-18 07:27:27

标签: javascript php jquery ajax

示例:我在第一个php脚本中的代码:

<?php
$a = array('green','yello','blue');

然后在我的第二个脚本中:

<?php
echo $a; //display the value based on my first script
  

jQuery-AJAX链接两个脚本

目的:

我的网页上有导航栏,有3个菜单/选项。单击其中一个菜单后,我将使用此代码$(this).closest('li').index()(正常工作)将其索引发送到第二个脚本。然后第二个脚本将检查正在发送的索引的值....索引将作为数组的键...

问题:

无法在我的第二个脚本中获取$a的值(数组)

注意:

我不能只使用一个脚本,因为我想要编写脚本.....这只是我项目的一小部分

1 个答案:

答案 0 :(得分:2)

PHP变量始终只在一个请求中可用。新请求意味着新范围,并且忘记了先前脚本中设置的变量。要在多个请求之间保留值,您可以使用例如会话。

会话解决方案

脚本1

session_start();
$_SESSION['a'] = array('green','yello','blue');

脚本2

session_start();
$a = array('green','yello','blue');

使用require()

的解决方案

另一个选项是包含声明数组的脚本1并将其初始化为脚本2(以及需要该数组的所有其他脚本)。

脚本1

$a = array();

脚本2

require('script1.php');
$b = $a; // feel free to use the array $a here

将数组传递给客户端并返回

的解决方案

另一个解决方案(尽管很可能不是一个好的)将使用json_encode($a)将数组编码为json,将其发送到客户端,然后在ajax请求中将数组发送回服务器到脚本2.脚本2将使用json_decode()解析json。