【问题标题】:Jquery ajax - price not appearingJquery ajax - 价格没有出现
【发布时间】:2018-02-08 15:52:48
【问题描述】:

我有一个带有 ajax 调用的 jquery 函数。即使它应该可以工作,我也无法得出总价。 .cart-price 类在 .cart-body 内,所以我不认为它是模板的问题。

      function refreshCart(){
        console.log("in current cart")
        var cartTable = $(".cart-table")
        var cartBody = cartTable.find(".cart-body")
        // $(cartBody).empty()
        //cartBody.html("<h1>Changed</h1>")
        var productRows = cartBody.find(".cart-product")
        var currentUrl = window.location.href
        var refreshCartUrl = '/api/cart/'
        var refreshCartMethod = "GET";
        var data = {};
        $.ajax({
          url: refreshCartUrl,
          method: refreshCartMethod,
          data: data,
          success: function(data){
            console.log("success")
            console.log(data)
            if (data.products.length > 1){
                productRows.html(" ")
                $(cartBody).empty()

                $.each(data.products, function(index, value){
                  console.log(value)
                    cartBody.append("<tr><td>" + value.name + "</td><td>" + value.price + "</td></tr>")
                })

                // console.log(data.total)
            cartBody.find(".cart-total").text(data.total)
            } else {
              window.location.href = currentUrl
            }

          },
        error: function(errorData) {
          console.log("error")
          console.log(errorData)
        }
      })
  }
})

【问题讨论】:

  • 请调试您的代码,找出问题所在,然后提出更准确的问题。
  • 您是否检查过 AJAX 调用是否正在进行?而且它成功了吗? console.log() 呼叫是否显示并显示正确的信息?
  • 正在进行 ajax 调用。我可以使用 console.log 来检查值,它返回的总数是正确的。
  • even though it should be working 你能发布data 包含的值吗?
  • 单步执行您的代码,您的代码是否进入您的if (data.products.length &gt; 1){?如果console.log(value) 打印在each 中,那么我们需要查看var cartBody = cartTable.find(".cart-body") 所指的标记。请使用相关代码创建Minimal, Complete, and Verifiable example。显然,您可以在创建演示代码时对 data 的内容进行硬编码,但如果是选择器问题,它可能已经帮助您解决问题。

标签: javascript jquery ajax


【解决方案1】:

$(cartBody).empty() 正在清除表格正文中的所有内容。解决方案是在表格主体之外创建一个新的 HTML 表格行。

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 2013-05-25
    • 2022-08-13
    • 2012-10-07
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    相关资源
    最近更新 更多