我有一个从购物车中删除商品的链接,但是当您点击该链接时,它会将您重定向到购物车,现在该商品已被删除。是否有可能使它仍然可以点击它仍然可以做它的东西,但它没有'更改页面(即它不会将用户发送到购物车)?
注意:我正在使用Liquid on Shopify
链接:
<a href="/cart/change?line={{ forloop.index }}&quantity=0" class="cart__remove">
<small>{{ 'cart.general.remove' | t }}</small>
</a>
&#13;
答案 0 :(得分:1)
由于您已经包含jQuery,请尝试添加以下脚本
jQuery(function($){
$(document).on('click', 'a.cart__remove', function(e){
e.preventDefault();
var url = this.href;
$.get(url, function(html){
// here you know that the page the link was pointing to has executed
// you might need to reload your card or parse it from the html you get here
// because the index of the cart items has changed after removing one of them
// and because you also need to update your shown cart to hide/remove the item that was selected
});
});
});
答案 1 :(得分:0)
您可以使用购物车js代替您的工作。以下是shopify cart js - cart js Reference
的详细信息最好的方法是通过CartJS.removeItem函数发送订单项号。您还可以使用removeItemById删除购物车项目的ID。
它提供了cart.requestComplete事件监听器,您可以在移除项目请求完成后编写代码以重新加载页面。
答案 2 :(得分:-1)
AJAX代表异步JavaScript和XML。
顾名思义,它用于处理异步数据传输。
为此,
将HTML更改为
<a onclick="removeCart('id');" class=" cart__remove "> <!--id indicates id of item as mentioned in your url //-->
<small>{{ 'cart.general.remove' | t }}</small>
</a>
然后添加JavaScript代码
function removeCart(){
var url = "cart/change?&quantity=0&line="+id;
xhr = new XMLHttpRequest();
//create an XHR object constructor
xhr.open("GET",url,true);
xhr.onreadystatechange=function(){
if(xhr.status==200 && xhr.readyState==4){
//Will execute if the request is success
//Show some message to user saying that the item is removed
//for example
alert("Item removed");
}
}
xhr.send();
}
如果需要,您也可以使用HTTP POST。