Snipcart - error: 'product-crawling-failed'

Snipcart - error: 'product-crawling-failed'

我是第一次尝试设置 Snipcart。在大多数情况下,这看起来非常简单,但是当我尝试使用测试支付卡结账时,我 运行 遇到了一些问题。

我只使用普通前端,而 Express 在后端。我每次都遇到同样的错误:

A 'cart-confirmation' error occurred in Snipcart.

Reason: 'product-crawling-failed' 

但是 URL 它在我的控制台中返回给我看起来应该能够正确地抓取产品:https://myHerokuApp.herokuapp.com/shop/starry-night

    <button class="snipcart-add-item"
        data-item-id="starry-night"
        data-item-price="79.99"
        data-item-url="/shop/starry-night"
        data-item-description="This is a sweet piece of art."
        data-item-image="img/1.jpg"
        data-item-name="The Starry Night">
        Add to cart
    </button>

我真的很困惑我做错了什么。我的 Express 路由器有什么问题吗?我试过路由这样的东西只是为了看看会发生什么

router.get("/shop/:product", function (req, res, next) {
  res.json({
    "data-item-id": "starry-night",
    "data-item-price": "79.99",
    "data-item-url": "/shop/starry-night"
  })
 });

但这并没有什么不同。

我真的希望有人能发现我做错了什么或在文档中为我指明正确的方向..

谢谢!

属性 data-item-iddata-item-priceHTML 爬虫 一起使用,并在购买按钮内定义。

如果您想使用 JSON 爬虫 ,那么您应该 return 有效 JSON 属性 idprice。此外,price 的类型应为 number。像这样改变你的支持:

router.get("/shop/:product", function (req, res, next) {
  res.json({
    "id": "starry-night",
    "price": 79.99
  })
});

注意: 您的服务器必须是公开可用的(不是 运行 在您的本地主机中)。