Jquery - POST,成功回调没有被执行

Jquery - POST, success callback is not getting executed

我正在使用下面的 Jquery 代码将商品添加到购物车。我的意图是在 Ajax 调用成功后更改 "Add to cart" 按钮。但是它没有发生。代码如下 -

  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/ 来验证语法。
  2. 我已经在 Developer tools (Chrome) 中查看 "Console",那里没有错误消息。

请让我知道哪里出错了。

你试过在回调函数中加入一些console.log吗?也许代码正在执行,但没有按预期执行。

还要检查 variant_id 的值。

如果成功,您必须将 .done 回调添加到您的函数中,您不喜欢下面的示例。这就是为什么您没有得到所需的 DOM 操作。

 $.post( "test.php", { name: "John", time: "2pm" })
  .done(function( data ) {
  alert( "Data Loaded: " + data );
 }); 

这适用于我的购物车。注意第四个参数。 id 是变体 id:

jQuery.post('/cart/add.js', {id:6028354753}, function(data){
  console.log(data);
},'json');