如何将数据从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版本。
答案 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'}));