Jquery 购物车
我不太熟悉AJAX/Javascript,所以我很难做一些简单的事情 我正在尝试在有人将项目添加到购物车之前清除购物车 我的代码当前如下所示:Jquery 购物车,jquery,shopify,Jquery,Shopify,我不太熟悉AJAX/Javascript,所以我很难做一些简单的事情 我正在尝试在有人将项目添加到购物车之前清除购物车 我的代码当前如下所示: <script> function clearcart() { var my_button=$('input.addToCart'); my_button.on('click',function(){ $.ajax({ type: "POST", url: '/cart/clea
<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"/>
函数clearcart()
{
var my_button=$('input.addToCart');
my_按钮。在('单击',函数()上){
$.ajax({
类型:“POST”,
url:“/cart/clear.js”,
数据:“”,
成功:成功,
数据类型:“json”,
成功:函数(){
return Shopify.clear();
},
错误:函数(XMLHttpRequest,textStatus){
/*错误代码*/
}
});
返回false;
});
}
实际上Shopify.clear()
AJAX是否为您调用。所以你真正需要做的就是:
function clearCart() {
Shopify.clear();
}
在表单中有onclick=“clearCart();”,它将为您调用该函数
我看到你正在用window.location做一些事情,如果你愿意,你也可以在clearCart函数中通过利用可传递到Shopify.clear
函数调用的回调来做这些事情:
function clearCart() {
Shopify.clear(function(){
window.location = "/cart";
});
}
希望这有帮助。尝试将代码更新为:
<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"/>
函数clearcart(){
var my_button=$('input.addToCart');
my_按钮。在('单击',函数()上){
$.ajax({
类型:“POST”,
url:“/cart/clear.js”,
数据:“”,
数据类型:“json”,
成功:函数(){
Shopify.clear();
},
错误:函数(XMLHttpRequest,textStatus){
/*错误代码*/
}
});
返回false;
});
}
使用此选项清除购物车页面中的所有数据
$('.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;
});
这似乎适用于Firefox,但不适用于safari或chrome?有什么想法吗?是因为这样做不会等待ajax响应吗?我在Chrome中执行命令,所以函数应该可以工作。或者,您可以访问jQuery,我相信您可以将事件侦听器附加到要触发此函数的DOM节点(添加到购物车)