在服务器端,Req.body收到为{} [英] At server side, Req.body received as { }
本文介绍了在服务器端,Req.body收到为{}的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
import {
Injectable
} from '@angular/core';
import {
Http,
XHRBackend,
RequestOptions,
Request,
RequestOptionsArgs,
Response,
Headers
} from '@angular/http';
import {
Observable
} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import {
EmployeeSchema
} from '../schemas/EmployeeSchema';
@Injectable()
export class HttpService extends Http {
headers = new Headers();
constructor(public backend: XHRBackend, options: RequestOptions) {
super(backend, options);
let token = localStorage.getItem('realtoken');;
options.headers.set('Authorization', ` ${token}`);
}
post(url: string, body:Object, options ? : RequestOptionsArgs): Observable < Response > {
this.headers.append('Content-Type', 'application/json');
let token = localStorage.getItem('realtoken');
if (typeof url === 'string') {
if (!options) {
options = {
headers: this.headers
};
}
options.headers.set('Authorization', ` ${token}`);
}
return super.post(url, body, options)
.catch(this.catchAuthError(this));
}
private catchAuthError(self: HttpService) {
return (res: Response) => {
if (res.status === 401 || res.status === 403) {
console.log(res);
}
return Observable.throw(res);
};
}
}
添加员工时,在服务器端收到的 req.body
内容为 {}
,这是服务器端代码
on adding an employee, req.body
content is {}
when received at server side, here is the server side code
var mongoose = require('mongoose');
var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser');
//schema-models
var employeeCollection = require('../../model/employee.model.js');
var organizationCollection = require('../../model/organization.model.js');
router.post('/new', function(req, res) {
var bodycontent = req.body;
var addcontent = new employeeCollection(add);
console.log(bodycontent); //here req.body is empty {}
addcontent.save(function(err, data) {
if (err) {
res.send(err);
} else {
console.log('data', data);
res.json(data);
}
});
});
module.exports = router;
授权后,路由将启动并转到上述给定的post方法,此处 req.body
为空的 {}
.
After authorization, the route initiated and goes to the post method given above, here the req.body
is empty {}
.
推荐答案
var mongoose = require('mongoose');
var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser');
//添加bodyparser中间件
var app = express();
app.use(bodyParser.urlencoded());
app.use(bodyParser.json());
//schema-models
var employeeCollection = require('../../model/employee.model.js');
var organizationCollection = require('../../model/organization.model.js');
router.post('/new', function(req, res) {
var bodycontent = req.body;
var addcontent = new employeeCollection(add);
console.log(bodycontent); //here req.body is empty {}
addcontent.save(function(err, data) {
if (err) {
res.send(err);
} else {
console.log('data', data);
res.json(data);
}
});
});
module.exports = router;
这篇关于在服务器端,Req.body收到为{}的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文