2011-08-12 195 views
0

所以,我運行這個javascript。此代碼獲取由cart.php生成的html將php var傳遞給javascript

$.ajax({ 
    type: "GET", 
    url: "/cart/cart.php", 
    async: false, 
    dataType: "html", 
    success: function(html){ 
      $('#cart_content').html(html);   
    } 

問題!如何獲得cart.php中的變量的值?

我希望是這樣的:$('#cart_content').html($myvar);

+1

我有一種感覺,你不是熟練的Javascript和異步編程... –

+0

你的問題是真的很難理解,你可能想要重新修改它.. – PPrice

+0

在很高的水平,你可能想看看轉換成JSON。 –

回答

3

個人而言,最簡單的方法是返回json,或者直接回顯您想返回的數據。如果你做的JSON,改變數據類型爲JSON,然後,在cart.php, echo json_encode(array('varname'=>$myvar)); 在你的成功的功能,你就可以打電話給該變量:$('#cart_content').html(html.varname);

如果你選擇去簡單路徑,在cart.php上,只是回顯數據。你的成功函數將它存儲爲html。

+0

是的!謝謝 ! –

-1

如果你想將數據傳遞到服務器端腳本「cart.php」然後把它作爲查詢參數:

$.ajax({ 
    type: "GET", 
    url: "/cart/cart.php?myvar=$myvar", 
    async: false, 
    dataType: "html", 
    success: function(html){ 
      $('#cart_content').html(html);   
    } 
+0

他想將PHP變量值傳遞給處理程序,而不是相反。 –

+0

我認爲OP想要的是相反的:從PHP發送數據到JS。 JSON浮現在腦海。 –

+1

我不認爲你理解這個問題。 –

0

車。 PHP可以返回你喜歡的任何東西。它不一定是HTML。您可以只返回變量的值,或者將其發送回JSON對象以及結果的其餘部分。

0

你不能那樣做。您可能需要改爲parse it as xml

cart.php將返回類似:

[...] 

echo '<var>My Variable</var>'; 

echo '<html><![CDATA[ <p>Html stuff</p> ]]></html>'; 

然後您的JavaScript可能會像

$.ajax({ 
    type: "GET", 
    url: "/cart/cart.php", 
    async: false, 
    dataType: "html", 
    success: function(response){ 

     var xmlDoc = $.parseXML(response), 
     $xml = $(xmlDoc), 
     $var = $xml.find("var"); // This is your variable 

     $('#cart_content').html($xml.find("html"));  
    } 
}); 
0

像這樣的事情出現在腦海:

$('.add_to_cart').click(function(){ 
    var _item = this.id; // say you had <div id="123" class="add_to_cart"> where the item id = 123. 
    $.ajax({ 
     type: "GET", 
     url: "/cart/cart.php?add="+ _item, 
     dataType: "html", 
     success: function(data){ 
      $('#cart_content').html(data);   
     } 
    }); 
}); 

cart.php文件:

$_SESSION['cart_contents'][] = $_GET['add']; 
$tmp = ''; 
foreach($_SESSION['cart_contents'] as $item) 
{ 
    $tmp.= '<div class="cart_item">' . $item['whatever'] . '</div>'; 
} 
echo $tmp; // this is what is sent back to the ajax `success` function 

這將使你點擊「添加到購物車」按鈕,並告訴你的cart.php頁面添加它和新填充的購物車中的內容返回到DOM容器#cart_content