Shopify /cart/update.js 未按预期工作
Shopify /cart/update.js not working as expected
我已附上代码,请检查:
如果我将数据传递给硬编码的 AJAX 函数,如“{ updates: {40066070315190: 0, 40067491528886: 0, 40094075945142: 0} }”,那么它工作正常,但是当我尝试使其动态化并设置时通过循环的变体 ID 和数量然后它不会更新数据但仍会转到成功函数。
有什么问题吗?
var formData = { updates: {} };
jQuery.getJSON('/cart.js', function(thisCart, textStatus) { // Get cart items
$.each(thisCart.items, function(cartIndex, cartElement) {
if(~cartElement.title.indexOf('Build your own box')) {
formData.updates[parseInt(cartElement.variant_id)] = 0;
}
});
});
jQuery.ajax({
type: 'POST',
url: '/cart/update.js',
// data: { updates: {40066070315190: 0, 40067491528886: 0, 40094075945142: 0} },
data: formData,
dataType: 'json',
success: function(data) {
console.log('success', data);
},
error: function (request, status, error) {
alert(request.responseText);
}
});
同时附上 console.log 参考输出
CLICK TO SEE THE CONSOLE.LOG OUTPUT
请检查,在调用 /cart/update.js API 之前,您正在获取 formData 中的数据。当您调用两个 API 时,您需要等到第一个 API 进程并提供 formData。
我已附上代码,请检查: 如果我将数据传递给硬编码的 AJAX 函数,如“{ updates: {40066070315190: 0, 40067491528886: 0, 40094075945142: 0} }”,那么它工作正常,但是当我尝试使其动态化并设置时通过循环的变体 ID 和数量然后它不会更新数据但仍会转到成功函数。
有什么问题吗?
var formData = { updates: {} };
jQuery.getJSON('/cart.js', function(thisCart, textStatus) { // Get cart items
$.each(thisCart.items, function(cartIndex, cartElement) {
if(~cartElement.title.indexOf('Build your own box')) {
formData.updates[parseInt(cartElement.variant_id)] = 0;
}
});
});
jQuery.ajax({
type: 'POST',
url: '/cart/update.js',
// data: { updates: {40066070315190: 0, 40067491528886: 0, 40094075945142: 0} },
data: formData,
dataType: 'json',
success: function(data) {
console.log('success', data);
},
error: function (request, status, error) {
alert(request.responseText);
}
});
同时附上 console.log 参考输出 CLICK TO SEE THE CONSOLE.LOG OUTPUT
请检查,在调用 /cart/update.js API 之前,您正在获取 formData 中的数据。当您调用两个 API 时,您需要等到第一个 API 进程并提供 formData。