你如何使用外部(非本地)api端点的ember.js?

时间:2012-10-04 14:39:01

标签: ember.js cors ember-data

有没有人成功使用前端只有Ember.js的应用程序并使用来自外部主机的端点?如果是这样,请分享您的经验。

以下是几个选项。

  • 通过本地代理发出请求(只是通过)。
  • 使用代理+ Rails,以便您可以按照Ember.js的方式工作。
  • 使用CORS请求来解决XSS问题。

似乎Ember.js的规范方法是使用本地Rails应用程序将json提供给Ember.js应用程序。从我的团队所做的研究来看,看起来CORS并不是一种与Ember.js合作的通道方式。

编辑:

关于下面的评论,这实际上更像是如何将Ember数据与外部api而不是Ember.js本身一起使用。

2 个答案:

答案 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

相关问题