使用AJAX将javascript变量传递给PHP数组

时间:2014-03-08 05:33:20

标签: javascript php ajax

我有一个名为var abc=5的变量,我想通过AJAX传递该变量,所以每次AJAX运行它时我想将该变量的值存储在PHP数组变量中。像这样:

$abc=$_request['abc'];
$xyz=array();
array_push($xyz,$abc);

当AJAX运行时,我希望输出如下:

$xyz[0]=1;
$xyz[1]=2;
.
.
.
.
$xyz[9]=10;

所以我可以在JPGraph中使用该数组吗?

2 个答案:

答案 0 :(得分:0)

不要考虑传递javascript“变量”,而是考虑传递可以由Javascript解释并存储到客户端脚本关心使用的任何变量的模数据。

在客户端和服务器之间传递数据的一种简单而流行的方法是使用JSON。可以在PHP端创建JSON,然后将其发送到客户端以响应通过Ajax传递每个单独号码的请求。

将数字数据作为分隔值传递很容易,但是当您开始想要来回传递更复杂的数据结构时,JSON最有意义 - 它与Javascript的基本数据结构以及大多数现代语言密切相关:键/值对,数组(数据列表),true,false,null,模数字符串和数字。

您的JSON响应有效负载可能如下所示:

"[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]"

您可以在Javascript中轻松解析它:

var data = JSON.parse( ajax_response )

请参阅Fiddle了解模型

答案 1 :(得分:0)

不要使用多个AJAX请求。完成后只需使用1。在JSON format中构建要在PHP中使用的数组。

var string_to_send_with_ajax = JSON.stringify(['1','4','8']);

在php中,您可以在PHP中使用它:

$array = JSON_decode($_POST['string_to_send_with_ajax']);

如果你是肯定的,你想用PHP保存服务器上的变量,你第一次定义一个数组。设为session variable,只要浏览器未被用户关闭,它就会出现在服务器上。

$_SESSION['plotArray'] = array();

使用array_push向数组添加值:

array_push( $_SESSION['plotArray'],$_POST['string_to_send_with_ajax']);