Javascript 使用JS Buy SDK将Shopify商品添加到购物车时出现问题
Shopify js buy SDK存在一些问题 我已经能够做一个购物车,我还尝试了获取产品等,它的工作。但是,当我尝试将行项目添加到购物车时,来自addLineItems的更新购物车数组返回空。我知道variantId是正确的,因为如果我更改它,我会得到一个错误 完整代码:Javascript 使用JS Buy SDK将Shopify商品添加到购物车时出现问题,javascript,sdk,shopify,Javascript,Sdk,Shopify,Shopify js buy SDK存在一些问题 我已经能够做一个购物车,我还尝试了获取产品等,它的工作。但是,当我尝试将行项目添加到购物车时,来自addLineItems的更新购物车数组返回空。我知道variantId是正确的,因为如果我更改它,我会得到一个错误 完整代码: <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://sdks.shopifycdn.com/js-buy-sdk/v1/latest/index.umd.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
const client = ShopifyBuy.buildClient({
domain: 'xxxx.myshopify.com',
storefrontAccessToken: 'xxxxxxx',
appId: '6'
});
// Create an empty checkout
client.checkout.create().then((checkout) => {
// Do something with the checkout
console.log(checkout.id);
x(checkout.id, client);
});
});
function x(check, client) {
const itemToAdd = [
{ variantId : 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzYyMDExMDQxMzg4NA==', quantity : 12 }
];
// Add an item to the checkout
client.checkout.addLineItems(check, itemToAdd).then((checkout) => {
console.log(checkout.lineItems); // THIS RETURNS AN EMPTY ARRAY
});
}
</script>
</head>
<body>
</body>
</html>
$(文档).ready(函数(){
const client=shoppifybuy.buildClient({
域名:“xxxx.myshopify.com”,
storefrontAccessToken:'xxxxxxx',
appId:'6'
});
//创建一个空的签出
client.checkout.create()。然后((checkout)=>{
//对收银台做些什么
console.log(checkout.id);
x(checkout.id,客户);
});
});
功能x(检查,客户端){
const itemToAdd=[
{variantId:'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzYyMDExMDQxMzg4NA=',数量:12}
];
//将项目添加到签出
client.checkout.addLineItems(check,itemToAdd)。然后((checkout)=>{
console.log(checkout.lineItems);//返回一个空数组
});
}
您使用的是要添加的项目的productID还是variantID
根据我的经验,如果一个ID以=
结尾,那么它就是一个productID
假设您尝试添加的项目只有一个变体,请尝试
const productId = 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzYyMDExMDQxMzg4NA==';
client.product.fetch(productId)
.then((product) => {
const variantId = product.variants[0].id;
console.log(variantId);
});
如果您在控制台中看到类似字符串的ID,而不是
未定义的,则这是variantID的正确值。是否可以使用产品ID添加项目@Bossan@NoorAllSafaet不,这并不不幸。默认情况下,所有产品都有一个ProductVariant。