我有一个包含以下数据的项目:
var item = {
id : "124",
name : "xxx",
price : "13.13",
quantity : 1,
options : {
"size" : "xl",
"color": "pink"
}
};
Run Code Online (Sandbox Code Playgroud)
当用户点击"添加到购物车"时,我想使用WC API制作Ajax请求,并将上述项目添加到购物车.
jQuery.ajax({
url: "some/woocommerce/api/add/to/cart/request/path",
data: item,
type: "POST"
});
Run Code Online (Sandbox Code Playgroud)
然后在购物车页面上,我想使用WC API制作另一个Ajax请求并检索购物车的内容.
我没有找到任何关于如何使用Javascript从客户端执行此操作的文档(官方或非官方).
有谁知道并且能为我提供一个例子吗?
此外,有谁知道为什么WooCommerce Api文档是如此可怕(缺乏有关如上所述的明显/标准问题的任何信息).我正在认真考虑让我们公司改用Shopify.
使用插件@ http://products.solvercircle.com/woocommerce-one-page-quick-shop/quick-shop/
好像我在管理员中以普通用户身份登录,我可以将商品添加到购物车中.如果我作为访客添加到购物车但是它执行ajax请求并返回"1"但该项目从未添加到购物车.
有谁知道为什么会这样?我在网站上停用的其他2个插件我仍然可以重现这个,所以我相信这是这个插件中的一个错误.
编辑:我确认"客人可以结帐"设置框已应用,所以似乎不是这样.
编辑#2:这是添加到购物车fn:
function wqo_add_prod(pid,vid){
var qty= jQuery('#product_qty_'+vid).val();
if(qty==0){
jQuery('#wqo_alert_info').text('Out of Stock');
jQuery('#wqo_alert_info').show()
setTimeout(function(){jQuery('#wqo_alert_info').hide()}, 1500);
return false;
}
if(vid==0){
qty= jQuery('#product_qty_'+pid).val();
}
var ajax_url = 'http://DOMAIN.com/wp-admin/admin-ajax.php';
jQuery.ajax({
type: "POST",
url:ajax_url,
data : {
'action': 'wqo_addtocart',
'wqo_prod_id': pid,
'wqo_prod_var_id': vid,
'wqo_prod_qty': qty
},
success: function(response){
if(response==1){
jQuery('#wqo_alert_info').text('Added to your cart');
}else{
jQuery('#wqo_alert_info').text(response);
}
jQuery.ajax({
type: "POST",
url:ajax_url,
data : {'action': 'wqo_cart_amount'},
success: function(data){
jQuery('#wqo_cart_price').html(data);
}
});
jQuery('#wqo_alert_info').show()
setTimeout(function(){jQuery('#wqo_alert_info').hide()}, 2000);
}
});
}
Run Code Online (Sandbox Code Playgroud)
编辑#3: php回调的来源
function wqo_addtocart() …Run Code Online (Sandbox Code Playgroud)