如何从Ember发送数据

时间:2017-10-24 03:29:32

标签: javascript node.js rest express ember.js

如何将数据从Ember发送到Express服务器?

根据官方文档,我们可以在这样的路由器中执行保存操作:

export default Ember.Route.extend({
  model(params) {
    var photo = this.get('store').createRecord('photo', {
      title: 'ni hao xin ji lu',
      owner: 'ViII',
      city: 'Dalian',
      image: 'fafa.jpg',
      star: 3,
      description: '.....'
    });

    photo.save();

在服务器端,例如使用Express,如下所示:

router.post('/photos', function(req, res, next) {
  console.log(req.body)//How To Do Here
});

事实上,服务器将触发post事件,但是当我搜索req控制台时,没有任何关于来自Ember请求的照片数据。

我忘记了什么吗?如何使用Ember将数据传递到服务器,以便服务器可以接收它?

我正在使用最新的Ember版本。

1 个答案:

答案 0 :(得分:0)

默认情况下,Ember会将数据作为JSON发送到服务器。你需要告诉Express来解析它。我相信Ember的JSONAPIAdapter发送content-type application/vnd.api+json标头,bodyParser需要一些额外的配置:

var bodyParser = require('body-parser');
app.use(bodyParser.json({type: 'application/vnd.api+json'}));