Shopify 没有成功 jquery POST
Shopify not succeeding on all jquery POST
我的 Shopify 网站上有一个 cookie,用于存储将在页面加载时添加到购物车的变体 ID:
var mmuUserCart = [
'10672503748',
'10672622148'
];
$.cookie('mmu-cart', mmuUserCart, {expires: 10});
function readCookie(handle) {
var cookieData = $.cookie(handle);
cookieData = cookieData.split(',');
if (cookieData) {
if (cookieData.length > 0) {
for (i = 0; i < cookieData.length; i++) {
console.log(cookieData[i]);
jQuery.post('/cart/add.js', {
quantity: 1,
id: cookieData[i]
});
// .fail( function(xhr, textStatus, errorThrown) {
// console.log(textStatus);
// });
}
}
}
}
$(document).ready(function() {
readCookie('mmu-cart');
});
但它只发布其中一项(随机)并且有时它同时发布两者。但这是将两者都添加到购物车的 1/20 机会。没有错误信息。这两款商品都有充足的库存。 Shopify 有 post
限制吗?
jQuery.post 是异步的,因此您需要等待第一个 post 到 return,然后再 post 下一个变体。例如:
var mmuUserCart = [
'10672503748',
'10672622148'
];
$.cookie('mmu-cart', mmuUserCart, {expires: 10});
function readCookie(handle) {
var cookieData = $.cookie(handle);
cookieData = cookieData.split(',');
if (cookieData) {
function postVariant(){
if(!cookieData.length) {
//update any displayed cart ?;
return;
}
var variantId = cookieData.shift();
console.log(variantId);
$.post('/cart/add.js', {
quantity: 1,
id: variantId
}).done(postVariant);
}
postVariant();
}
}
$(document).ready(function() {
readCookie('mmu-cart');
});
我的 Shopify 网站上有一个 cookie,用于存储将在页面加载时添加到购物车的变体 ID:
var mmuUserCart = [
'10672503748',
'10672622148'
];
$.cookie('mmu-cart', mmuUserCart, {expires: 10});
function readCookie(handle) {
var cookieData = $.cookie(handle);
cookieData = cookieData.split(',');
if (cookieData) {
if (cookieData.length > 0) {
for (i = 0; i < cookieData.length; i++) {
console.log(cookieData[i]);
jQuery.post('/cart/add.js', {
quantity: 1,
id: cookieData[i]
});
// .fail( function(xhr, textStatus, errorThrown) {
// console.log(textStatus);
// });
}
}
}
}
$(document).ready(function() {
readCookie('mmu-cart');
});
但它只发布其中一项(随机)并且有时它同时发布两者。但这是将两者都添加到购物车的 1/20 机会。没有错误信息。这两款商品都有充足的库存。 Shopify 有 post
限制吗?
jQuery.post 是异步的,因此您需要等待第一个 post 到 return,然后再 post 下一个变体。例如:
var mmuUserCart = [
'10672503748',
'10672622148'
];
$.cookie('mmu-cart', mmuUserCart, {expires: 10});
function readCookie(handle) {
var cookieData = $.cookie(handle);
cookieData = cookieData.split(',');
if (cookieData) {
function postVariant(){
if(!cookieData.length) {
//update any displayed cart ?;
return;
}
var variantId = cookieData.shift();
console.log(variantId);
$.post('/cart/add.js', {
quantity: 1,
id: variantId
}).done(postVariant);
}
postVariant();
}
}
$(document).ready(function() {
readCookie('mmu-cart');
});