Javascript 超过产品库存时,Shopify购物车API不会返回422

Javascript 超过产品库存时,Shopify购物车API不会返回422,javascript,shopify,shopify-api,Javascript,Shopify,Shopify Api,根据,当您尝试向购物车中添加比现有库存更多的产品时,您应该得到422响应。我的问题是,无论我添加多少项,我都会得到200条回复 这些人也有同样的问题: 他们解决方案的要点是将以下内容添加到标题中,这显然只是默认情况下使用jQuery添加的: X-request-With:XMLHttpRequest 我也用jQuery尝试过,但没有成功,用Axios添加标题也没有成功(我验证了它确实被包括在内): 我的理解是,在过去的几年里,已经有一些更新,以防止机器人滥用库存数据,但如果我无法收到任何类型

根据,当您尝试向购物车中添加比现有库存更多的产品时,您应该得到422响应。我的问题是,无论我添加多少项,我都会得到200条回复

这些人也有同样的问题:

他们解决方案的要点是将以下内容添加到标题中,这显然只是默认情况下使用jQuery添加的:

X-request-With:XMLHttpRequest

我也用jQuery尝试过,但没有成功,用Axios添加标题也没有成功(我验证了它确实被包括在内):

我的理解是,在过去的几年里,已经有一些更新,以防止机器人滥用库存数据,但如果我无法收到任何类型的错误响应,我该如何确保我的自定义购物车不允许您添加超过可用数量的物品

我是做错了还是有一些Shopify设置需要更改?

我错过了这个:


使用
/cart/add.js
而不是
/cart/update.js
可以解决问题。

在我的情况下,它总是有效的,您需要检查并确保所有条件都与库存设置和多位置库存设置一样正确。
updateProduct = async (update) => {
    this.setState({ processing: true }, async () => {
        const { data, status } = await axios.post(
            '/cart/update.js',
            update,
            {
                headers: { 'X-Requested-With': 'XMLHttpRequest' },
            },
        );

        console.log('data = ', data);
        console.log('status = ', status);
        
        if (status === 200) {
            this.setState({ data, processing: false });
        }
    });
};