使用AJAX post方法将变量从Javascript发送到PHP
我试图将一个变量从javascript传递到php,但它似乎不起作用,我也不知道为什么。 我使用的函数应该做三件事:使用AJAX post方法将变量从Javascript发送到PHP,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图将一个变量从javascript传递到php,但它似乎不起作用,我也不知道为什么。 我使用的函数应该做三件事: 创建变量(基于用户在饼图中单击的内容) 使用AJAX将该变量发送到PHP 打开变量发送到的PHP页面 任务一在控制台日志确认后工作。 任务二不起作用。虽然我收到一个警告,上面写着“Success”,但test.php上的变量没有得到响应。 任务三有效。 Javascript(位于index.php中): PHP(位于test.PHP中) $item=$\u POST['itemN
任务二不起作用。虽然我收到一个警告,上面写着“Success”,但test.php上的变量没有得到响应。
任务三有效。
Javascript(位于index.php中): PHP(位于test.PHP中)
$item=$\u POST['itemNum'];
回显“您选择的项目编号:”$项目。".";
感谢所有能帮忙的人 试试这个:
success: function(data) {
$("body").append(data);
alert('success!');
}
基本上,data
是您从PHP文件中回显的响应。使用jQuery,您可以append()
将html响应添加到body元素。尝试以下操作:
success: function(data) {
$("body").append(data);
alert('success!');
}
基本上,
data
是您从PHP文件中回显的响应。使用jQuery,您可以append()
将html响应添加到body元素。您应该更改此代码
'itemNum' : itemNum,
对此
itemNum : itemNum,
您应该更改此代码
'itemNum' : itemNum,
对此
itemNum : itemNum,
从我所能告诉你的,你不知道ajax是用来做什么的,如果你从ajax调用重定向表单,你就不需要ajax了 请参阅以下函数(无ajax): 更改:
$item = $_GET['itemNum'];
echo "<h2>You selected item number: " . $item . ".</h2>";
$item=$\u GET['itemNum'];
回显“您选择的项目编号:”$项目。".";
或者最好像普通页面那样从表单发出一个简单的post请求:)我可以告诉你,你不知道ajax是用来做什么的,如果你曾经重定向表单ajax调用,你就不需要ajax了 请参阅以下函数(无ajax): 更改:
$item = $_GET['itemNum'];
echo "<h2>You selected item number: " . $item . ".</h2>";
$item=$\u GET['itemNum'];
回显“您选择的项目编号:”$项目。".";
或者最好像普通页面那样从表单中执行一个简单的post请求:)似乎缺少
contentType
,请查看这是否有帮助:
$.ajax({
type: 'POST',
url: 'test.php',
dataType: "json",
data: {
'itemNum' : itemNum,
},
contentType: "application/json",
success: function (response) {
alert(response);
},
error: function (error) {
alert(error);
}
});
似乎缺少
contentType
,请查看这是否有帮助:
$.ajax({
type: 'POST',
url: 'test.php',
dataType: "json",
data: {
'itemNum' : itemNum,
},
contentType: "application/json",
success: function (response) {
alert(response);
},
error: function (error) {
alert(error);
}
});
您可以通过html中的隐藏变量轻松地将数据传递给php,例如,我们的html页面包含一个具有如下唯一id的隐藏变量
<input type="hidden" id="hidden1" value="" name="hidden1" />
然后我们可以在表单提交或使用javascript访问该值
通过Javascript(Jquery)访问是
var data=$('#hidden1').val();
通过表单提交(POST方法)访问就像这样
<?php
$data=$_POST['hidden1'];
// remaining code goes here
?>
您可以通过html中的隐藏变量轻松地将数据传递给php,例如,我们的html页面包含一个具有如下唯一id的隐藏变量
<input type="hidden" id="hidden1" value="" name="hidden1" />
然后我们可以在表单提交或使用javascript访问该值
通过Javascript(Jquery)访问是
var data=$('#hidden1').val();
通过表单提交(POST方法)访问就像这样
<?php
$data=$_POST['hidden1'];
// remaining code goes here
?>
我认为您的问题在于数据类型,因为您发送的是json,但定义的是html。尝试使用dataType:'json'
@DekiChan dataType是响应类型。回送的值在Ajax结果中(这里称为数据)。我认为您的问题在于数据类型,因为您发送的是json,但定义的是html。尝试使用数据类型:“json”
@DekiChan数据类型是响应类型。回送的值在Ajax结果中(这里称为数据)。带引号或不带引号都没有问题。@RaxWeber但这发生在我身上,当变量在php中带引号时,我无法获得它们,在删除它后,效果很好!好吧,PHP不同于JavaScript。有引号或没有引号都没有错。@RaxWeber但这发生在我身上,当变量在PHP中有引号时,我无法获得它们,在删除它之后,它工作了!嗯,PHP不同于JavaScript。是的,为了完成一项作业,我必须非常快地学习PHP。它工作得很好。比你多!!!:)是的,为了完成作业,我必须很快地学习PHP。它工作得很好。比你多!!!:)