如何将表单中的详细信息发送到ember.js中的rest API?

如何将表单中的详细信息发送到ember.js中的rest API?,rest,ember.js,ember-data,frontend,Rest,Ember.js,Ember Data,Frontend,我对ember比较陌生,我一直在尝试向RESTAPI发送POST请求。有人能解释一下如何在ember中完成POST请求吗?这取决于您想使用ember的哪些部分。Ember.js的主要支柱之一是Ember数据库,它与Ember模型密切合作,您可以阅读有关Ember的内容。如果您决定不使用Ember数据(我认为大多数人不建议使用,但最终由您决定),您可以手动填充您的模型,使用ajax发出的API请求并使用其响应数据设置模型属性 如果您想在API请求中使用Ember数据,则需要使用API适配器,该适配

我对ember比较陌生,我一直在尝试向RESTAPI发送POST请求。有人能解释一下如何在ember中完成POST请求吗?

这取决于您想使用ember的哪些部分。Ember.js的主要支柱之一是Ember数据库,它与Ember模型密切合作,您可以阅读有关Ember的内容。如果您决定不使用Ember数据(我认为大多数人不建议使用,但最终由您决定),您可以手动填充您的模型,使用ajax发出的API请求并使用其响应数据设置模型属性

如果您想在API请求中使用Ember数据,则需要使用API适配器,该适配器将允许您使用Ember数据方法查询模型的API,以便您可以编写类似于
store.findRecord('book',bookId)的代码,其中API调用由适配器自动处理,缓存/存储由Ember数据处理


您可以阅读有关适配器的内容,或许应该阅读关于模型的整个部分,以了解它们如何工作,是否以及如何在应用程序中使用Ember数据。

如果您只想发出
POST
请求,我可能不会担心Ember数据

我只需要依靠“普通”浏览器API进行网络请求。现在,最简单的方法就是使用API

有一个名为
Ember-fetch
的方便的Ember插件,它将包装浏览器提供的功能,并使它与Ember一起更好地发挥作用。您可以通过执行以下操作来安装它

ember install ember-fetch
安装后,您可以从该模块导入
fetch
功能并进城

在余烬组件中使用此功能的一个快速示例可能类似于我创建的这个旋转


请注意,虽然代码是正确的,但POST将失败,因为它实际上不会转到真正的API。

您可以使用ajax进行REST API调用

$.ajax({ type:"POST", url:"[postURL]", async:false, data:{[data you need to send]} success:function(data){ console.log(data); } }); $.ajax({ 类型:“POST”, url:“[postrl]”, async:false, 数据:{[需要发送的数据]} 成功:功能(数据){ 控制台日志(数据); } }); 下面是示例代码。试试这个

Ember Data不仅与模型密切合作,而且还带来了一个模型类
DS.Model
。Ember core没有模型类,因为它没有ORM。构建一个没有模型的ember应用程序是完全可以的——但我同意,对于大多数用例来说,这不是最好的主意,因为如果你得到的任务比在
model
hook中获取数据更复杂,那么你必须重新设计轮子。