Jquery – POST,成功回调没有被执行
我使用下面的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调用),在这种情况下元素被操纵。
- 我已经提到http://api.jquery.com/jquery.post/来validation语法。
- 我在开发者工具(Chrome)中检查了“控制台”,那里没有错误消息。
请让我知道,我在哪里弄错了。
这适用于我的购物车。 注意第4个参数。 id是变体id:
jQuery.post('/cart/add.js', {id:6028354753}, function(data){ console.log(data); },'json');
您是否尝试在回调函数中放置一些console.log
? 也许代码正在执行,但没有按照预期执行。
检查variant_id
的值。
如果成功,您必须将.done回调添加到您的函数中,您不喜欢下面的示例。 这就是为什么你没有得到理想的DOM操作。
$.post( "test.php", { name: "John", time: "2pm" }) .done(function( data ) { alert( "Data Loaded: " + data ); });