我正在尝试从我编写的用于显示购物车的函数中使用的api添加一些JSON数据。我是那里的2 / 3rd,但是我无法获得将所有内容连接在一起的最终作品。
<script>
function displayCart() {
var apiData;
$.getJSON("/api/options", function (json) {
apiData = json;
**console.log(apiData);**
});
var cartArray = PA_shoppingCart.listCart();
var output = "";
for (var i in cartArray) {
output += "<li>"
+ cartArray[i].name
+ " "
+ " <input class='item-count' type='number' data-name='"
+ cartArray[i].name
+ "' value='" + cartArray[i].count + "' >"
+ cartArray[i].count
+ " "
+ "x" + cartArray[i].price
+ " = " + " " + "$" + cartArray[i].total
+ " <button class='plus-item' data-name='" +
cartArray[i].name + "'>+</button>"
+ " <button class='subtract-item' data-name='"
+ cartArray[i].name + "'>-</button>"
+ "<button class='delete-item' data-name='"
+ cartArray[i].name + "'> X </button>"
+ "</li>";
}
**console.log(apiData);**
$("#show-cart").html(output);
$("#count-cart").html(PA_shoppingCart.countCart())
$("#total-cart").html(PA_shoppingCart.totalCart());
}
PA_shoppingCart.loadCart();
displayCart();
</script>
<script src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>
如您所见,我已将两个console.log命令加粗,它们应该仅将我的apiData变量加载到控制台中。但是当我加载页面时,我得到了一个未定义的页面(底部console.log命令)和一个显示数据的页面(顶部的一个)。