使用Ajax创建PHP会话和回显结果

时间:2013-05-11 09:09:03

标签: 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}, function(results) {
             //success alert
    });
}
</script>
</body>
</html>

这是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>

然而,我需要的是将数据保存到会话后,我想在侧栏中的迷你购物车中将其输出给用户。

当我运行js.html时,它成功将数据传递给sessions.php。但是echo中未显示js.html。如果我运行sessions.php,则显示echo但不在我需要的页面中。

我的问题是,无论是通过PHP还是js,我如何在我需要的页面上回显或向用户显示这些数据?

由于

3 个答案:

答案 0 :(得分:2)

session.php更改为:

<?php
   session_start();

   // store session data
   $_SESSION['productName'] = $_POST['productName'];

   //retrieve session data
   echo "Product Name = ". $_SESSION['productName'];
?>

在您的HTML代码中:

function addCart(){
    var brandName = $('iframe').contents().find('.section01a h2').text();

    $.post("sessions.php", {"name": brandName}, function(results) {
        $('#SOME-ELEMENT').html(results);
    });
}

答案 1 :(得分:1)

$.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']);
?>

答案 2 :(得分:0)

使用纯Javascript

由于您正在拨打AJAX电话,因此未显示回音。我看不出是什么阻止您输出JS代码中的详细信息,在Ajax请求的下方。

$.post("sessions.php", {"name": brandName}, function(results) {
         //As in put the code here.
});

使用mootools Library

或者,您可以查看mootools库。该库有一个Request对象,使用onSuccess方法。您可以将购物篮代码移植到onSuccess方法中。