2013-05-11 61 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']); 
?>