Javascript ajax成功后的divid刷新
我在Javascript ajax成功后的divid刷新,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在index.php有一个div,我想在ajax调用成功时刷新它。我试过这个。但除非我刷新整个页面,否则它不会刷新div。 这是代码 Div <div id="cartContainer"> <div id="cart"> <li style="color: #515151"> <img id="cart_img" src="images/cart.png"> Cart <span class
index.php
有一个div,我想在ajax调用成功时刷新它。我试过这个。但除非我刷新整个页面,否则它不会刷新div。
这是代码
Div
<div id="cartContainer">
<div id="cart">
<li style="color: #515151">
<img id="cart_img" src="images/cart.png"> Cart <span class='badge' id='comparison-count'>
<?php
if(isset($_SESSION['cart'])&& !empty($_SESSION['cart']))
{
$cart_count=count($_SESSION['cart']);
echo $cart_count;
} else {
$cart_count=0;
echo $cart_count;
}
?>
</span>
</li>
<div id="sidebar">
<?php if(isset($_SESSION[ 'cart'])&& !empty($_SESSION[ 'cart'])){ ?>
<table id="s_table">
<?php foreach($_SESSION[ 'cart'] as $id=> $value){ ?>
<form class="product" method="get" action="index.php?">
<tr id="tr_s">
<input type="hidden" name="action" value="remove">
<input type="hidden" name="id" value="<?php echo $value['id'] ?>">
<td class="s_th">
<?php echo $value[ 'name']; ?>
<input type="hidden" name="name" value="<?php echo $value['name'] ?>">
</td>
<td class="s_th">
<?php echo $value[ 'quantity'] ?>
<input type="hidden" name="quantity" value="<?php echo $value['quantity'] ?>">
</td>
<td class="s_th">
<?php echo $value[ 'color']; ?>
<input type="hidden" name="color" value="<?php echo $value['color'] ?>">
</td>
<td class="s_th">
<?php echo $value[ 'size'] ?>
<input type="hidden" name="size" value="<?php echo $value['size'] ?>">
</td>
<td>
<button type="submit" id="btn_submit">Remove</button>
</td>
</tr>
</form>
<?php } ?>
<tr>
<td class="cart_btn" colspan="2"><a href="index.php?page=cart" style="">GO TO CART</a>
</td>
<td class="cart_btn" colspan="2"><a href="index.php?page=checkout">CHECK OUT</a>
</td>
</tr>
</table>
<?php } else { ?>
<p id="p_s"><i> "Your Cart is Empty"</i>
</p>
<?php } ?>
</div>
</div>
</div>
运货马车
如果要使用AJAX的返回更新div
,可以执行以下操作:
$.post('add_cart.php', post_data, function(response) {
$("#cartContainer").html(response);
}
当然,这取决于很多事情:返回的数据类型、希望更新的内容等。从您发布的内容很难判断您的意图。您返回的是响应,但没有使用它来更新div。@JayBlanchard如何解决此问题?您没有提供.load()
的url,这没什么意义。@MarcB我只想刷新整个div。正如您看到的,它们的is count()函数应该在ajax调用成功后立即更新。我不想在我的div中将响应替换为html。我只想刷新整个div。正如您看到的,它们的iscount()
中的
函数,ajax调用成功后应立即更新该函数。然后,您的编码将变得更加复杂,这不是您最初提出的问题。
$.post('add_cart.php', post_data, function(response) {
$("#cartContainer").html(response);
}