如何解决如何修复:Shopify Cart Ajax API 在添加新变体时总是显示已售罄
我正在开发一个应用程序来创建产品包。首先,我帮助客户创建一个新的变体,选择后数量等于1。之后,我使用 Cart ajax API 将这个新变体添加到 Cart。但是,当我使用 Fetch API 添加新变体时,它总是显示已售罄
{status: 422,message: "Cart Error",description: "该产品 xxxx 已经售罄。"}
这是创建新变体的代码:
addBundleToCart() {
console.log('length',this.variants.length);
const url = '/create_new_variant/';
let data = this.getRequestDataFromVariants(this.variants);
data.bundleID = bundleID;
let request = new Request(url,{
method: 'POST',body: JSON.stringify(data),headers: {
'Accept': 'application/json','Content-Type': 'application/json'
}
});
let vm1 = this;
fetch(request)
.then(response => response.json())
.then(data => {
console.log('Success creating variant:',data);
console.log('variant_id:',data.variant_id);
setTimeout(vm1.addNewVariantToCart(data.variant_id),2000);
})
.catch((error) => {
console.error('Error:',error);
});
}
这是将新变体添加到购物车的代码(我从文档中复制):
addNewVariantToCart(variant_id) {
let formData = {
'items': [{
'id': parseInt(variant_id),'quantity': 1
}]
};
fetch('/cart/add.js',{
method: 'POST',headers: {
// 'Accept': 'application/json','Content-Type': 'application/json'
},body: JSON.stringify(formData)
})
.then(response => response.json())
.then(data => {
console.log('Success adding variant to cart:',data);
// console.log('Your bundle has been added to cart! Check your cart now.')
})
.catch((error) => {
console.error('Error:',error);
});
}
当我通过替换新的变体 ID 在 Chrome 控制台中运行此代码时,它可以正常工作。这里有什么问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。