示例:我在第一个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
的值(数组)
注意:
我不能只使用一个脚本,因为我想要编写脚本.....这只是我项目的一小部分
答案 0 :(得分:2)
PHP变量始终只在一个请求中可用。新请求意味着新范围,并且忘记了先前脚本中设置的变量。要在多个请求之间保留值,您可以使用例如会话。
脚本1
session_start();
$_SESSION['a'] = array('green','yello','blue');
脚本2
session_start();
$a = array('green','yello','blue');
另一个选项是包含声明数组的脚本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。