2017-03-15 3 views
0

Ich versuche, meine mongodb-Datenbank durch meine eckige 2 Frontend hinzuzufügen, aber es scheint nicht, dass die Post durchläuft. Ich benutze Morgan um alle Anfragen zu protokollieren und es zeigt nichts, dann sehe ich nichts in meiner Datenbank.Kann nicht nach mongo/express api posten

meine api Route:

// 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'}); 
    } 

ich nicht die get-Anfrage noch versucht haben. Hier mein Modell:

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); 
     } 

und hier ist der Service, den ich am Front-End verwende. Ich bekomme keine Fehler mit eckigen 2, es ist alles nur durch das Back-End.

@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()); 
    }} 

Ich benutze vscode, und ich bin ziemlich neu in Javascript. Gibt es etwas, das ich hier vermisst habe?

+0

statt kommt .map verwenden .dann und testen, es sollte funktionieren –

+0

.dann nicht funktioniert. Am Ende habe ich .subscribe verwendet und es hat funktioniert. –

Antwort

0

Versuchen folgt

JS

var newVenue = { 
    data: 'something' 
    }; 

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

Auf diese Weise verwenden, können Sie sehen, was Antwort oder testen Sie Ihre Ruhe apis/Anrufe von Postman Rest Client-Anwendung

Verwandte Themen