Magento 使用 ajax 清空购物车
Magento Empty cart using ajax
我目前正在尝试在 mangento 1.9 中单击一个项目时清空整个购物车。
代码在我的模板中的 list.phtml 中。
<form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="POST" name="emptyTheCart">
<?php echo $this->getBlockHtml('formkey'); ?>
<button type="submit" name="update_cart_action" value="empty_cart" style="display:none" title="<?php echo $this->__('Empty Cart'); ?>" id="empty_cart_button"></button>
</form>
$('.item').click(function() {
var dataExecURL = "<?php echo $this->getUrl('checkout/cart/updatePost') ?>";
var datafiles=$("#emptyTheCart").serialize();
$.ajax({
type : 'POST',
data : datafiles,
url : dataExecURL
});
});
当我点击一个项目时,它应该会清空我的购物车。有人可以帮忙吗?
我不知道为什么这根本不起作用。
添加 id="#emptyTheCart"
到表单,因为您使用的是 $("#emptyTheCart").serialize()
但表单似乎没有任何 ID?
除此之外,您的代码看起来是正确的。
我根据要求修改了好几处,现在成功了。
$('.item').click(function() {
$(this).find('input:radio')[0].checked = true;
var formurl = $(this).find('input:radio').val();
var datafile=$("#product_addtocart_form").serialize();
var dataExecURL = "<?php echo $this->getUrl('checkout/cart/updatePost') ?>";
var datafiles=$("#emptyTheCart").serialize();
datafiles = datafiles + "&update_cart_action=empty_cart";
$.ajax({
type : 'POST',
data : datafiles,
url : dataExecURL,
success: function()
{
$.ajax({
type : 'POST',
data : datafile,
url : formurl
});
}
});
// console.log(datafile);
});
另外我在文档底部添加了前面提到的表格。
感谢您的帮助:)
我目前正在尝试在 mangento 1.9 中单击一个项目时清空整个购物车。 代码在我的模板中的 list.phtml 中。
<form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="POST" name="emptyTheCart">
<?php echo $this->getBlockHtml('formkey'); ?>
<button type="submit" name="update_cart_action" value="empty_cart" style="display:none" title="<?php echo $this->__('Empty Cart'); ?>" id="empty_cart_button"></button>
</form>
$('.item').click(function() {
var dataExecURL = "<?php echo $this->getUrl('checkout/cart/updatePost') ?>";
var datafiles=$("#emptyTheCart").serialize();
$.ajax({
type : 'POST',
data : datafiles,
url : dataExecURL
});
});
当我点击一个项目时,它应该会清空我的购物车。有人可以帮忙吗? 我不知道为什么这根本不起作用。
添加 id="#emptyTheCart"
到表单,因为您使用的是 $("#emptyTheCart").serialize()
但表单似乎没有任何 ID?
除此之外,您的代码看起来是正确的。
我根据要求修改了好几处,现在成功了。
$('.item').click(function() {
$(this).find('input:radio')[0].checked = true;
var formurl = $(this).find('input:radio').val();
var datafile=$("#product_addtocart_form").serialize();
var dataExecURL = "<?php echo $this->getUrl('checkout/cart/updatePost') ?>";
var datafiles=$("#emptyTheCart").serialize();
datafiles = datafiles + "&update_cart_action=empty_cart";
$.ajax({
type : 'POST',
data : datafiles,
url : dataExecURL,
success: function()
{
$.ajax({
type : 'POST',
data : datafile,
url : formurl
});
}
});
// console.log(datafile);
});
另外我在文档底部添加了前面提到的表格。
感谢您的帮助:)