【问题标题】:Ajax and Shopify CartAjax 和 Shopify 购物车
【发布时间】:2014-01-31 18:18:05
【问题描述】:

我正在使用 Shopify,并且正在尝试使用 Ajax 将商品添加到购物车。此处的代码不会将商品添加到我的购物车中。我花了 5 个小时试图解决这个问题,但没有雪茄:/

我已将包装器包含在我的 theme.liquid 中。

这是我的代码:

<a class="chicken-fingers" onclick="fastcart('515257513','1')">Add to Cart</a>

  <script>  
  function fastcart(variantId, quantity){
  $.ajax({
  type: 'POST',
      url: 'http://name.myshopify.com/cart/add.js',
      data: 'quantity='+quantity+'&id='+variantId,
      dataType: 'json',
      success: function(response){
          $.ajax({
              type: 'GET',
              url: '/cart.js',
              dataType: 'json',
              success: function(cartdata){
                  $('.cart-total-items .count').html(cartdata.item_count);
                  $('.cart-total-price').html('$'+(cartdata.total_price/100).toFixed(2));

                }
            });
        }
    });
  }
 </script> 

【问题讨论】:

  • 嗨!具体是(http://name.myshopify.com/cart/add.js)
  • 而且,这与当前用于查看页面的 url 是否不同? (不同的子域、域或端口?)
  • 您是否打开了 javascript 控制台以查看是否出现任何错误?您是否去过该控制台的网络选项卡以检查正在发送/接收的请求标头?
  • 这是他们要求您发布以使用 Shopify 添加到购物车的 URL 格式。
  • 对,但如果你删除了http://name.myshopify.com,它还会指向同一个位置吗?

标签: jquery ajax shopify


【解决方案1】:

那是行不通的。

跨域 Ajax 请求不起作用且不允许。只能向自己的域名发送请求,不能向其他域名发送ajax请求。

如果您使用的是 ASP.NET,可以尝试 HtmlAgilityPack!

其实/cart/add.js的意思是它会移动指向你自己网站的文件夹cartadd.js的文件。这样您将添加组件!在这种方法中,来源是相同的,您的请求将通过您的网站发出,并将发送到您的网站。

如果您想将数据保存在他们的网站上,您需要对数据使用 HTTP POST 请求。并在那里进行编码,然后返回回复!或者为此使用插件。

以下是一些跨域教程的主要文章:

http://www.bennadel.com/blog/2327-Cross-Origin-Resource-Sharing-CORS-AJAX-Requests-Between-jQuery-And-Node-js.htm

https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

http://www.codeproject.com/Articles/185506/AJAX-Cross-Origin-HTTP-request(这些人会帮助你很多)

https://en.wikipedia.org/wiki/Same-origin_policy(在这里了解哪些请求是允许的,哪些会失败)

【讨论】:

  • “跨域 Ajax 请求不起作用且不允许”,除非您正确实施 CORS。
  • 我现在明白了...对于它的价值,使用 Ajax 是防止重定向到 Shpoify 购物车的唯一方法,但是您似乎只能在 within 中实现它购物。如果您尝试从外部网站 POST 到 Shopify,那么您就不走运了
  • 可能为时已晚,但对于外部网站有shopify.github.io/js-buy-sdk
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多