有没有人成功使用前端只有Ember.js的应用程序并使用来自外部主机的端点?如果是这样,请分享您的经验。
以下是几个选项。
似乎Ember.js的规范方法是使用本地Rails应用程序将json提供给Ember.js应用程序。从我的团队所做的研究来看,看起来CORS并不是一种与Ember.js合作的通道方式。
编辑:
关于下面的评论,这实际上更像是如何将Ember数据与外部api而不是Ember.js本身一起使用。
答案 0 :(得分:2)
服务器 - 客户端通信不是Ember.JS为您解决的问题,它使用jQuery,所以Ember.JS方面不应该有任何限制。
您列出的所有内容都是处理来自不同域的API的合法方式,具体取决于您希望实现的用户代理支持(某些客户端根本不支持CORS,或者只能以有限的形式支持)。
答案 1 :(得分:0)
**Approach 1**
如果您查看此博文:http://eng.netwallet.com/2012/04/17/simple-cross-domain-ajax-with-a-wormhole-5/
在主机页面上,他们使用porthole.js和一个Ember对象来设置porthole windowProxy并侦听来自它的消息。
Porthole.js是一个小型Javascript库,可以安全轻松地与跨域iFrame通信。
你总是可以在ember-data和RestAdapter中使用这种方法来覆盖像gryzzly提到的那样。
**Approach 2**
同样在下面的帖子中,他们正在使用goliath作为代理 cors 使用ember-data和elasticsearch,但使用自己的自定义适配器:
http://www.elasticsearch.org/tutorials/2012/08/22/javascript-web-applications-and-elasticsearch.html
帖子中的完整代码位于:https://gist.github.com/3369662