将php var传递给javascript

时间:2011-08-12 00:10:56

标签: php javascript

所以,我运行这个javascript。此代码获取cart.php生成的html

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

问题!如何在cart.php中获取变量的值?

我会喜欢这样的事情:$('#cart_content').html($myvar);

5 个答案:

答案 0 :(得分:3)

就个人而言,最简单的方法是返回json,或者只是回显你想要返回的数据。如果你要做json,将dataType更改为json,然后在cart.php上, echo json_encode(array('varname'=>$myvar)); 在您的成功函数中,您将能够调用该变量:$('#cart_content').html(html.varname);

如果您选择使用简单路线,请在cart.php上回显数据。您的成功函数会将其存储为html。

答案 1 :(得分:0)

cart.php可以返回您喜欢的任何内容。它不一定是HTML。您可以只返回变量的值,或者将其与结果的其余部分一起发送回JSON对象。

答案 2 :(得分: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"));      
    }
});

答案 3 :(得分: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

答案 4 :(得分:-1)

如果要将数据传递到服务器端脚本“cart.php”,请将其作为查询字符串参数发送:

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