编程语言
首页 > 编程语言> > javascript-Ember.js模型保存不会向服务器发送任何数据

javascript-Ember.js模型保存不会向服务器发送任何数据

作者:互联网

我目前正在使用Ember.JS和带有Express的NodeJS构建一个小型演示应用程序.我创建了一个简单的模型,并创建了一个动作来保存它.

该组件具有一个称为配方的属性,它是我定义的模型的一个实例.保存操作很简单:

save() {
  this.get('recipe').save();
}

查看Chrome开发人员工具中的“网络”标签,可以在请求有效负载中看到数据.但是,我无法访问Node应用程序中的数据.我已经记录了完整的req对象,而我的数据却不存在.

我觉得这与Ember使用PATCH动词有关,而我希望它使用PUT或POST.

任何帮助是极大的赞赏.

解决方法:

免责声明:在看不到代码的情况下,很难为您提供明确的答案.

JSON API规范定义,使用PATCH动词完成资源的更新. (http://jsonapi.org/format/#crud-updating)

如果选择使用此适配器,则必须在Express应用程序中定义适当的路由.如果没有看到它,我建议使用相同的回调定义PUT和PATCH的路由,这样就可以了.

例如:

router.put('/:id', controller.update);
router.patch('/:id', controller.update);

目前,在适配器中覆盖HTTP动词并不那么容易(Ember Data 2.4).一个可能的方法是重写适配器的updateRecord方法. (https://github.com/emberjs/data/blob/v2.4.0/addon/adapters/json-api.js#L115-L133)

标签:node-js,express,ember-js,ember-data,javascript
来源: https://codeday.me/bug/20191118/2031335.html