php文件的javascript数组
html php文件(json.php)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编辑了这个问
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来显示结果。就这么简单。我只是有点忙,忘了那件小事。