我使用下面的Jquery代码将项目添加到购物车。我的目的是改变"添加到购物车"按钮一旦Ajax调用成功。然而它没有发生。代码如下 -
jQuery.post('/cart/add.js', {
quantity: 1,
id: variant_id
}, function(data){
var myelem = document.getElementById('red') ;
if (myelem != null){
document.getElementById('red').id = 'normal';
}
$("span").removeClass("hidden-count");
$(".cart-count").text('1');
$("#AddToCartText").text("Added");
$("#AddToCart").css("color","Green");
});
目前,代码正在将项目添加到购物车,但我没有看到预期的元素操作。 操作元素的jquery是正确的,因为当我从成功回调中删除它,并在AJAX调用之后放置它(没有任何依赖于AJAX调用),在这种情况下元素被操纵。
请告诉我,我犯了错误。
答案 0 :(得分:3)
这适用于我的购物车。注意第4个参数。 id是变体id:
jQuery.post('/cart/add.js', {id:6028354753}, function(data){
console.log(data);
},'json');
答案 1 :(得分:0)
您是否尝试在回调函数中添加一些console.log
?也许代码正在执行,但没有按照预期执行。
也检查variant_id
的值。
答案 2 :(得分:0)
如果成功,您必须将.done回调添加到您的函数中,您不喜欢下面的示例。这就是为什么你没有得到理想的DOM操作。
$.post( "test.php", { name: "John", time: "2pm" })
.done(function( data ) {
alert( "Data Loaded: " + data );
});