Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AJAX将javascript变量传递给PHP数组_Javascript_Php_Ajax - Fatal编程技术网

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

使用AJAX将javascript变量传递给PHP数组,javascript,php,ajax,Javascript,Php,Ajax,我有一个名为var abc=5的变量,我希望通过AJAX传递该变量,因此每次AJAX运行时,我都希望将该变量的值存储在PHP数组变量中。大概是这样的: $abc=$_request['abc']; $xyz=array(); array_push($xyz,$abc); $xyz[0]=1; $xyz[1]=2; . . . . $xyz[9]=10; 当AJAX运行时,我希望输出如下内容: $abc=$_request['abc']; $xyz=array(); array_push($x

我有一个名为
var abc=5
的变量,我希望通过AJAX传递该变量,因此每次AJAX运行时,我都希望将该变量的值存储在PHP数组变量中。大概是这样的:

$abc=$_request['abc'];
$xyz=array();
array_push($xyz,$abc);
$xyz[0]=1;
$xyz[1]=2;
.
.
.
.
$xyz[9]=10;
当AJAX运行时,我希望输出如下内容:

$abc=$_request['abc'];
$xyz=array();
array_push($xyz,$abc);
$xyz[0]=1;
$xyz[1]=2;
.
.
.
.
$xyz[9]=10;

因此,我可以在JPGraph?

中使用该数组,而不是考虑传递javascript“变量”,而是考虑传递可由javascript解释并存储到客户端脚本想要使用的任何变量中的模数据

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

作为分隔值传递数字数据非常容易,但当您开始想要来回传递更复杂的数据结构时,JSON最有意义——它紧密地反映了Javascript以及大多数现代语言的基本数据结构:键/值对、数组(数据列表)、true、false、null、,模数字符串和数字

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

"[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]"
您可以用Javascript轻松解析它,如下所示:

var data = JSON.parse( ajax_response )

有关实体模型的信息,请参见。不要使用多个AJAX请求。完成后只需使用1。以
JSON格式构建要在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['plotArray'] = array();
使用
array\u push
向数组添加值:

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

但是朋友,我的主页使用AJAX,每秒钟更改一次值,所以我想在从AJAX返回的每个AJAX值上画一个折线图。您想在服务器端保留这些值吗?我真的不明白你为什么要费心把它们传递给服务器——你可以在不使用Ajax的情况下同样有效地收集变量数组。@Harddy,你应该研究SVG,在PHP中绘制图像永远不会顺利运行,因为Ajax请求需要时间,对服务器来说这是一件非常困难的事情。使用svg绘制图形,或者查看HTML Canvaskk朋友现在就告诉我如何在JAVASCRIPT中使用JPGRAPH???@Harddy我很感激您想要学习。但我们不是来陪你度过难关的,如果你陷入困境,我们会帮助你。谷歌的东西,你不知道之前张贴在这里,这里的其他人都学会了这种方式。