所以,我运行这个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);
答案 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);
}