Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将ember.js与外部(非本地)api端点一起使用?_Ember.js_Cors_Ember Data - Fatal编程技术网

如何将ember.js与外部(非本地)api端点一起使用?

如何将ember.js与外部(非本地)api端点一起使用?,ember.js,cors,ember-data,Ember.js,Cors,Ember Data,是否有人成功地使用了带有Ember.js的前端应用程序,并从外部主机使用端点?如果是,请分享你的经验 这里有几个选择 通过本地代理发出请求(只需通过) 使用proxy+Rails,这样您就可以按照Ember.js希望的方式工作 使用CORS请求绕过XSS问题 似乎对Ember.js的规范方法是使用本地Rails应用程序向Ember.js应用程序提供json。从我的团队所做的研究来看,CORS似乎不是一种使用Ember.js的常用方法 编辑: 关于下面的评论,这实际上更多的是一个如何将Embe

是否有人成功地使用了带有Ember.js的前端应用程序,并从外部主机使用端点?如果是,请分享你的经验

这里有几个选择

  • 通过本地代理发出请求(只需通过)
  • 使用proxy+Rails,这样您就可以按照Ember.js希望的方式工作
  • 使用CORS请求绕过XSS问题
似乎对Ember.js的规范方法是使用本地Rails应用程序向Ember.js应用程序提供json。从我的团队所做的研究来看,CORS似乎不是一种使用Ember.js的常用方法

编辑:


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

服务器-客户端通信不是Ember.js为您解决的问题,它使用jQuery来实现这一点,因此在Ember.js方面不应该有任何限制

您列出的所有内容都是处理来自不同域的API的合法方法,具体取决于您想要实现的用户代理支持(一些客户端根本不支持CORS,或者以有限的形式)

如果你看这篇博文:

在主机页上,他们使用porthole.js和一个Ember对象,该对象设置porthole windowProxy并侦听来自它的消息

js是一个小型Javascript库,可以安全方便地与跨域iFrame通信

您总是可以在ember数据和RestaAdapter中使用这种方法来覆盖gryzzly提到的内容

           **Approach 2**
同样在下面的帖子中,他们正在使用goliath作为代理使用余烬数据和elasticsearch,但使用自己的自定义适配器进行cors操作:


这篇文章的全部代码都在这里:

在尝试CORS作为客户机-服务器通信时,您是否遇到了一些特定于余烬的问题?这主要是因为余烬数据不支持它。我对其他数据抽象持开放态度,但从我发现的情况来看,余烬数据是唯一一个仍在积极研究的数据。感谢您的回复。您是对的,服务器-客户机通信并不是一个真正的余烬问题,但我确实认为余烬数据正试图通过其数据模型抽象来解决这个问题。例如,data store REST适配器正在处理服务器-客户端通信,以访问它将转换为模型的json端点。查看ember数据的自述文件,您似乎可以覆盖适配器的内置“find”方法。在他们的示例中,他们仍然使用jQuery,而jQuery应该适合CORS。如果您提供了一个不起作用的简化版本的代码,那么就可以更容易地判断出问题所在。您可以使用SoundCloudAPI进行测试,因为它启用了CORS;-)
           **Approach 2**