0

我正在与一位客户合作开发两个网站:一个包含有关其业务的一般信息的网站,以及一个单独的电子商务商店,用于销售他们提供的产品。据我所知,这是一种相当普遍的方法,因为客户的 CMS 需求通常超出了大多数电子商务平台提供的范围。

主站点需要展示商店中的一些产品,所以我正在寻找具有 API 的电子商务平台。Shopify 引起了我的注意,因为它具有返回 JSON 的 API。我将使用带有 Sinatra 后端的 Backbone.js 构建主站点。

谁能告诉我 Shopify API 是否可以这样使用?我还看到了一个名为 Shopify Widget 的有点脆弱且无法定制的 Shopify 应用程序,我认为它不能满足我客户的目的。你会如何处理这种情况?

4

2 回答 2

1

如果您使用 Sinatra 作为后端,您确实可以进行跨域 Ajax 调用。我一直都这样做。如果您想使用 CORS,只需使用 Rack-Cors gem。如果您因为 IE 在执行 CORS 时遇到问题而对此感到不安,您可以随时返回 JSONP 作为替代。如果您的 Sinatra 后端在子域上运行,您可以做任何事情,因为不存在跨域问题。

于 2013-07-12T23:18:16.463 回答
1

您必须使用 sinatra 应用程序作为 Shopify 商店的代理,因为通过 Javascript 进行的跨域调用不起作用。

您可以使用 ShopifyAPI gem 来完成大部分繁重的工作,如果您真的想要,您可以在 Sinatra 中编写一个 ghetto RestAPI,这样您就不会重新发明 Shopify 轮子。

它可能很简单,例如:

POST /shopify.json
{
  "model": "ShopifyAPI::Product",
  "data": { ..shop data... }
}

您可能可以使用它const_get来检索您需要的实际模型。

于 2013-07-12T15:58:31.027 回答