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调用),在这种情况下元素被操纵。

  1. 我已经提到http://api.jquery.com/jquery.post/来validation语法。
  2. 我在开发者工具(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 ); });