繁体   English   中英

angular2 http.post请求req.body为空

[英]angular2 http.post request the req.body is empty

我的angular 2应用程序出现问题,我试图将json oberts发送到我的mongofb数据库,当我单击该帖子时,它将_id发送到我的mongodb,但是我的req.body为空

 import { Injectable } from '@angular/core'; import { HttpModule ,Http , Headers } from '@angular/http'; import 'rxjs/add/operator/map'; @Injectable() export class BookService { constructor(private _http:Http){ } getTodos(){ return this._http.get('/api/v1/book') .map(res => res.json()); } saveBooking(booking){ var headers = new Headers(); headers.append('Content-Type', 'application/json'); return this._http.post('/api/v1/book' , { b: 'texts.value', isCompleted: 'b'}, {headers: headers}) .map(res => res.json()); } } 

这是我的router.js

 var express = require('express'); var router = express.Router(); var mongojs = require('mongojs'); var db = mongojs('mongodb://lee:Zzbawsoldd1@ds163630.mlab.com:63630/bookings_drbookings',['bookings']); router.get('/book', function(req,res,next){ db.bookings.find(function(err, bookings){ if(err){ res.send(err); }else{ res.json(bookings); } }); }); // Get Single Todo router.get('/book/:id', function(req, res, next){ db.bookings.findOne({ _id: mongojs.ObjectId(req.params.id) }, function(err, todo){ if(err){ res.send(err); } else { res.json(todo); } }); }); router.post('/book', function(req, res, next){ /*if(!todo.text || !(todo.isCompleted + '')){ res.status(400); res.json({ "error": "Invalid Datazz" }); } else {*/ db.bookings.save(req.body, function(err, result){ if(err){ res.send(err); } else { res.json(result); } }); }); router.put('/book/:id', function(req, res, next){ var bookinfo = req.body; var updObj = {}; if(bookinfo.isCompleted){ updObj.isCompleted = bookinfo.isCompleted; } if(bookinfo.text){ updObj.text = bookinfo.text; } if(!updObj){ res.status(400); res.json({ "error": "Invalid Data" }); } else { db.bookings.update({ _id: mongojs.ObjectId(req.params.id) },updObj, {}, function(err, result){ if(err){ res.send(err); } else { res.json(result); } }); } }); router.delete('/book/:id', function(req, res, next){ db.bookings.remove({ _id: mongojs.ObjectId(req.params.id) },'', function(err, result){ if(err){ res.send(err); } else { res.json(result); } }); }); module.exports = router; 

我对服务器的请求正在工作,但是它没有将json对象从我的服务发送到router.js

尝试下面的代码捕捉:

  saveBooking(booking){
    var headers = new Headers();
    headers.append('Content-Type', 'application/json');
    let data:any={};
    data.b='texts.value';
    data.isCompleted='b';
    return this.http.post('/api/v1/book' , data, {headers: headers}) .map(res =>  res.json());
}

谢谢您的帮助,但我找到了解决方案

我在快速服务器代码中编写的app.set而不是app.use的server.js文件出现错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM