使用Ajax创建PHP会话和回显结果
我使用ajax将数据传递到php会话,以便保存js驱动的购物车的内容。以下是测试js代码:使用Ajax创建PHP会话和回显结果,php,javascript,ajax,Php,Javascript,Ajax,我使用ajax将数据传递到php会话,以便保存js驱动的购物车的内容。以下是测试js代码: //js.html <html> <body> <script> function addCart(){ var brandName = $('iframe').contents().find('.section01a h2').text(); $.post("sessions.php", {"productName": brandName},
//js.html
<html>
<body>
<script>
function addCart(){
var brandName = $('iframe').contents().find('.section01a h2').text();
$.post("sessions.php", {"productName": brandName}, function(results) {
//success alert
});
}
</script>
</body>
</html>
//js.html
函数addCart(){
var brandName=$('iframe').contents().find('.section01a h2').text();
$.post(“sessions.php”,{“productName”:brandName},函数(结果){
//成功警报
});
}
下面是php代码:
//session.php
<?php
session_start();
// store session data
$_SESSION['productName'] = $_POST['productName'];
?>
<html>
<body>
<?php
//retrieve session data
echo "Product Name = ". $_SESSION['productName'];
?>
</body>
</html>
//session.php
然而,我需要的是,在将数据保存到会话之后,我希望将其输出到侧边栏中的微型购物车中的用户
当我运行js.html
时,它成功地将数据传递到sessions.php
。但是,echo
不会显示在js.html
中。如果我运行sessions.php
,则会显示echo
,但不在我需要的页面中
我的问题是,无论是通过PHP还是js,如何在我需要的页面上向用户回送或显示这些数据
感谢使用纯Javascript
回声没有出现,因为您正在进行AJAX
调用。我看不出是什么阻止了您在JS
代码中输出详细信息,在您发出Ajax
请求的下面
$.post("sessions.php", {"name": brandName}, function(results) {
//As in put the code here.
});
使用mootools库
或者,您可以查看
mootools
库。该库有一个带有onSuccess
方法的Request
对象。您可以将购物篮代码移植到该onSuccess
方法中。将session.php
更改为:
<?php
session_start();
// store session data
$_SESSION['productName'] = $_POST['productName'];
//retrieve session data
echo "Product Name = ". $_SESSION['productName'];
?>
$.post(“sessions.php”,{“productName”:brandName},函数(结果){
警报(results.productName);
}“json”);
//session.php
当然这应该被标记为ajax?是的,它应该,对不起我的错误。@mightyuhu谢谢,更正了!jquery也有那些回调函数,不需要mootoolsthanks来回复。问题是,我对php和js的交互方式还是很陌生的。我目前正在阅读本教程,有必要将php数组编码为json,然后通过js输出?是否有其他方法,例如通过php?
function addCart(){
var brandName = $('iframe').contents().find('.section01a h2').text();
$.post("sessions.php", {"name": brandName}, function(results) {
$('#SOME-ELEMENT').html(results);
});
}
$.post("sessions.php", {"productName": brandName}, function(results) {
alert(results.productName);
},"json");
//session.php
<?php
session_start();
// store session data
$_SESSION['productName'] = $_POST['productName'];
echo json_encode(array('productName' => $_SESSION['productName']);
?>