2017-03-15 7 views
0

私のAngular 2フロントエンドを通してmongodbデータベースに追加しようとしていますが、投稿が通過していないようです。私はすべての要求を記録するためにmorganを使用していますが、何も表示されません。その後、データベースに何も表示されません。mongo/express apiに投稿できません

私のAPIのルート:

// add venue 
router.post('/add_venue', (req, res, next) => { 
    let newVenue = new Venue({ 
    _id: req.body._id, 
    name: req.body.name, 
    street: req.body.street, 
    city: req.body.city, 
    state:req.body.state, 
    zipcode:req.body.zipcode, 
    busy:req.body.busy 
    }); 

    Venue.addVenue(newVenue, (err, venue) => { 
    if(err){ 
     res.json({success: false, msg:'Failed to add venue'}); 
    } else { 
     res.json({success: true, msg:'User registered'}); 
    } 
    }); 



}); 

router.get('/venue/:id', (req, res, next) =>{ 
    let venueID = req.params.id; 
Venue.findById(venueID, (err, user) => { 

    if(err) throw err; 
    if(!venueID){ 
     return res.json({success: false, msg: 'Venue not found'}); 
    } 

私はまだGET要求を試していません。ここに私のモデル:

const mongoose = require('mongoose'); 
const bcrypt = require('bcryptjs'); 
const config = require('../config/database'); 

const VenueSchema = mongoose.Schema({ 
_id:{ 
    type:String, 
    required:true 
}, 
name:{ 
    type:String, 
    required:true 
}, 
street:{ 
    type:String, 
    required:true 
}, 
city:{ 
    type:String, 
    required:true 
}, 
state:{ 
    type:String, 
    required:true 
}, 
zipcode:{ 
    type:String, 
    required:true 
}, 
busy:{ 
    type:Boolean, 
}, 




}); 


const Venue = module.exports = mongoose.model('Venues', VenueSchema); 

module.exports.addVenue = function(newVenue, callback){ 
    newVenue.save(callback); 
     } 

ここで私はフロントエンドで使用しているサービスです。私は角度2でエラーが発生していない、それはちょうどバックエンドを介してすべてです。

@Injectable() 

    export class VenueService{ 
    constructor(private http:Http){ 
    } 


    getVenue(id){ 
     var headers = new Headers(); 
     return this.http.get('//ec2 instance/venues/venues'+ id) 
     .map(res => res.json()); 
    } 
    addV 
enue(newVenue){ 
     var headers = new Headers; 
     headers.append('Content-Type', 'application/json'); 
     return this.http.post('(I'm using an ec2 address)/venues/venues', newVenue, {headers:headers}) 
     .map(res => res.json()); 
    }} 

私はvscodeを使用しています。私はかなりjavascriptを新しくしています。私がここで逃したものはありますか?

+0

の代わりからあなたの残りのAPI /呼び出しをテストすることができますこの方法

var newVenue = { data: 'something' }; $http.post('http://url/data', newVenue, { headers: headers }) .then(res => console.log(res.data()); 

JS次のように

を使用してみてください.maps use .thenそしてそれがうまくいくはずのテスト –

+0

。その後は動作しませんでした。私は.subscribeを使用して終了し、それは働いた。 –

答えて

0

あなたが応答を来ているかを見るかポストマン残りのクライアントアプリ

関連する問題