我正在调用.getJSON
来在shopify中执行一些AJAX脚本。回调函数有多个语句,但只有第一行被执行。在我调试的下面的代码中,控件转到行
jQuery.getJSON('/cart.js', function(cart){
之后显示警告框,其中包含来自购物车的正确计数。但是,警报消息下面的代码没有被执行。我哪里出错了。
function addtocart(prod_handle, variant_id) {
var found = false;
var x = 0;
jQuery.getJSON('/cart.js', function(cart) {
alert(cart.item_count);
x = cart.item_count;
if (x > 0) {
jQuery.getJSON('/product/' + prod_handle + '.js', function(product) {
var selected_prod_tags = products.tags;
for (var index = 0; index < selected_prod_tags.length; index++) {
if (selected_prod_tags[index] == 'jamshedpur' || selected_prod_tags[index] == 'ranchi') {
var city = selected_prod_tags[index];
}
}
jQuery.getJSON('/product/' + cart.items[0].handle + '.js', function(product) {
var cart_prod_tags = products.tags;
for (index = 0; index < cart_prod_tags.length; index++) {
if (cart_prod_tags[index] == city) {
found = true;
jQuery.post('/cart/add.js', {
quantity: 1,
id: variant_id
});
}
}
if (found == false) {
alert("Error!! Please select products from same city");
}
});
});
} else {
jQuery.post('/cart/add.js', {
quantity: 1,
id: variant_id
});
}
});
}
答案 0 :(得分:0)
在您运行的下两个请求中,产品未定义。这只是一个错字吗?
请记住,getJSON要求它是有效的JSON,否则它将无声地失败,具体取决于您拥有的jQuery版本。
jQuery.getJSON('/product/' + prod_handle + '.js', function(product) {
var selected_prod_tags = products.tags;
您可能还想查看将某些代码抽象为单独的函数,例如add.js调用。