2013-05-11 65 views
1

我使用ajax将数据传递到php会话以保存js动力购物车的内容。下面是测试JS代码:使用Ajax创建PHP会话和回显结果

//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,我怎么回声或显示这个数据给我需要的网页上的用户?

感谢

+1

这肯定应被标记AJAX? – imulsion 2013-05-11 09:11:02

+0

是的,它应该,对不起我的错误。 – user2028856 2013-05-11 09:12:37

+0

name!= productName – worenga 2013-05-11 09:15:10

回答

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); 
    }); 
} 
+0

谢谢!那完美的工作。 – user2028856 2013-05-11 09:22:34

0

使用纯JavaScript

回声没有出现,因为你正在做一个AJAX电话。我看不到什么阻止您输入JS代码中的详细信息,在您请求Ajax的地方输入详细信息。

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

随着图书馆MooTools的

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

+2

jquery也有这些回调函数,不需要mootools – worenga 2013-05-11 09:16:08

+0

感谢您的回复。事情是,我在php和js的交互方面还是很新的。我目前正在阅读本教程http://www.darian-brown.com/pass-a-php-array-to-javascript-as-json-using-ajax-and-json_encode/,并且很自然地,我应该编码PHP数组到JSON,然后通过JS输出它?有没有其他的方法,例如通过PHP? – user2028856 2013-05-11 09:16:19

+0

请参阅php手册for json_encode() – worenga 2013-05-11 09:16:55

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