我与客户合作开发两个网站:一个提供有关其业务的一般信息的网站,以及一个单独的电子商务商店,用于销售他们提供的产品。据我所知,这是一种相当常见的方法,因为客户的CMS需求通常不在大多数电子商务平台提供的范围内。
主站点需要在商店中展示一些产品,因此我正在寻找具有API的电子商务平台。 Shopify引起了我的注意,因为它有返回JSON的API。我将使用带有Sinatra后端的Backbone.js构建主站点。
有人能告诉我Shopify API是否可以这样使用?我还看到一个名为Shopify Widget的Shopify应用程序有点脆弱且不可定制,我认为这不会满足客户的需求。你会如何处理这种情况?
答案 0 :(得分:1)
您必须使用sinatra应用程序作为Shopify商店的代理,因为通过Javascript进行的跨域调用将无效。
你可以使用ShopifyAPI宝石完成大部分繁重的工作,如果你真的想要,你可以在Sinatra写一个贫民窟RestAPI,这样你就不会重新发明Shopify轮了。
它可能很简单:
POST /shopify.json
{
"model": "ShopifyAPI::Product",
"data": { ..shop data... }
}
您可以使用const_get
来检索您需要的实际模型。
答案 1 :(得分:1)
如果您使用Sinatra作为后端,您确实可以进行跨域Ajax调用。我一直这样做。如果您想使用CORS,只需使用Rack-Cors gem。如果由于IE在执行CORS时遇到问题而对此感到羞怯,您可以随时返回JSONP作为替代。如果您的Sinatra后端在子域上运行,则可以执行任何操作,因为没有跨域问题。