如何接收来自 Ember 发送的数据
How to receive data from Ember send
如何将数据从 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 版本。
默认情况下 Ember 会将数据作为 JSON 发送到服务器。你需要告诉 Express 来解析它。我相信 Ember 的 JSONAPIAdapter
发送 application/vnd.api+json
的 content-type
header,这需要对 bodyParser
进行一些额外的配置:
var bodyParser = require('body-parser');
app.use(bodyParser.json({type: 'application/vnd.api+json'}));
如何将数据从 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 版本。
默认情况下 Ember 会将数据作为 JSON 发送到服务器。你需要告诉 Express 来解析它。我相信 Ember 的 JSONAPIAdapter
发送 application/vnd.api+json
的 content-type
header,这需要对 bodyParser
进行一些额外的配置:
var bodyParser = require('body-parser');
app.use(bodyParser.json({type: 'application/vnd.api+json'}));