簡體   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