php文件的javascript数组

php文件的javascript数组,javascript,php,Javascript,Php,html php文件(json.php) id=“btn2”正在工作。它显示一个带有阵列的警报,但当我单击id=“btn”时,它根本不工作。你能告诉我这些代码的问题吗??我只想将一个数组从javascript发送到php文件。您在客户端执行GET请求: <?php $data = json_decode($_POST['data']); var_dump($data); ?> 但您希望服务器端有POST数据: type: "GET", (这个答案不再正确,因为OP编辑了这个问

html

php文件(json.php)


id=“btn2”正在工作。它显示一个带有阵列的警报,但当我单击id=“btn”时,它根本不工作。你能告诉我这些代码的问题吗??我只想将一个数组从javascript发送到php文件。

您在客户端执行GET请求:

<?php
$data = json_decode($_POST['data']);
var_dump($data);
?>
但您希望服务器端有POST数据:

type: "GET",
(这个答案不再正确,因为OP编辑了这个问题。)

您在客户端执行GET请求:

<?php
$data = json_decode($_POST['data']);
var_dump($data);
?>
但您希望服务器端有POST数据:

type: "GET",

(这个答案不再正确,因为OP编辑了这个问题。)

你怎么说它根本不起作用,检查你的ajax功能,你应该有一个成功的处理程序

$_POST['data']

否则你怎么知道ajax是否发生了呢?

为什么你说它根本不起作用,检查你的ajax功能,你应该有一个成功的处理程序

$_POST['data']
否则,您如何知道ajax是否发生了?

这不是将数组从JavaScript发送到PHP的正确方法。这里不需要JSON。您可以在AJAX调用中发送数组。它将被正确序列化:

$('#btn').click(function(){
$.ajax({
type: "GET",
url: "json.php",
data: {data:json},
success:function(data){
alert(data);
}
});
});
您正在用PHP阅读
$\u POST['data']
,因此需要将数据作为
POST

这还有一个额外的好处,在PHP中,您的
$\u POST['data']
将是一个数组!不需要json解码。

这不是将数组从JavaScript发送到PHP的正确方法。这里不需要JSON。您可以在AJAX调用中发送数组。它将被正确序列化:

$('#btn').click(function(){
$.ajax({
type: "GET",
url: "json.php",
data: {data:json},
success:function(data){
alert(data);
}
});
});
您正在用PHP阅读
$\u POST['data']
,因此需要将数据作为
POST


这还有一个额外的好处,在PHP中,您的
$\u POST['data']
将是一个数组!不需要
json\u解码

什么“不起作用”?你怎么知道它不工作了?那是因为你没有告诉它做任何事。。。至少看不见,什么“不起作用”?你怎么知道它不工作了?那是因为你没有告诉它做任何事。。。至少看不到任何内容。我已经替换了get和post方法,但仍然是相同的,根本没有响应。根据AJAX调用的目的-如果OP只是打算检索/获取数据,那么
get
将更合适(因此需要在PHP中将
$\u POST
更改为
$\u GET
。@RitzdeGuzman请
var\u转储($\u请求)
并发布结果。我已经替换了get和post方法,但仍然是相同的,根本没有响应。根据AJAX调用的目的-如果OP只是打算检索/获取数据,那么
get
会更合适(因此需要在PHP中将
$\u POST
更改为
$\u GET
。@RitzdeGuzman请
var\u dump($\u REQUEST)
并发布结果。他现在通过GET读取和发送数据(请参见更新的问题)。@comfrek:但他仍然不需要使用JSON,当他已经使用查询字符串时,这是多余的。当然,这是正确的。)(我没有说任何反对的话)。OP在问题中再次使用POST,所以不要介意我的第一次评论。他现在通过GET读取并发送数据(见他更新的问题)。@ComFreek:但他仍然不需要使用JSON,当他已经使用查询字符串时,这是多余的。当然,这是正确的(我没有说任何反对的话)。OP在问题中再次使用POST,所以不要介意我的第一个评论。你可以随时查看开发人员控制台以查看调用是否被触发。哦..我明白了..没错..我忘记了使用success来显示结果。就这么简单。我只是有点忙,忘记了那件小事。你可以随时查看开发人员控制台看看电话是否被触发。哦……我明白了……没错……我忘了用success来显示结果。就这么简单。我只是有点忙,忘了那件小事。