我不熟悉AJAX / Javascript,所以我很难做一些简单的事情。
我尝试在有人将商品添加到购物车之前使用Shopify's AJAX API清除购物车。
我的代码目前看起来像这样:
<script>
function clearcart()
{
var my_button=$('input.addToCart');
my_button.on('click',function(){
$.ajax({
type: "POST",
url: '/cart/clear.js',
data: '',
success: success,
dataType: 'json',
success: function() {
return Shopify.clear();
},
error: function(XMLHttpRequest, textStatus) {
/* error code */
}
});
return false;
});
}
</script>
<input type="submit" name="add" value="Try Now" class="addToCart" onclick="clearcart();" "javascript:window.location='/cart' return false"/>
答案 0 :(得分:1)
尝试将代码更新为:
<script>
function clearcart() {
var my_button=$('input.addToCart');
my_button.on('click',function(){
$.ajax({
type: "POST",
url: '/cart/clear.js',
data: '',
dataType: 'json',
success: function() {
Shopify.clear();
},
error: function(XMLHttpRequest, textStatus) {
/* error code */
}
});
return false;
});
}
</script>
<input type="submit" name="add" value="Try Now" class="addToCart" onclick="clearcart();" "javascript:window.location='/cart' return false"/>
答案 1 :(得分:0)
实际上Shopify.clear()
会为您调用AJAX。所以你真正需要做的就是:
function clearCart() {
Shopify.clear();
}
在您的表单中,您有onclick =“clearCart();”这会为你调用这个功能。
我看到你正在使用window.location做一些事情,如果你想要,你也可以通过利用可传递给Shopify.clear
函数调用的回调来在clearCart函数中做到这一点:
function clearCart() {
Shopify.clear(function(){
window.location = "/cart";
});
}
希望这有帮助。
答案 2 :(得分:0)
使用它清除购物车页面中的所有数据
$('.addToCart').click(function(){
$.ajax({
type: "POST",
url: '/cart/clear.js',
data: '',
dataType: 'json',
success: function() {
location.reload();
},
error: function(XMLHttpRequest, textStatus) {
/* error code */
}
});
return false;
});