2017-07-17 4 views
0

Ich habe Daten von einem AngularJS-Controller zur Fabrik gedruckt, so dass Client-Seite Daten für API hat, aber wenn ich Daten auf Serverseite posten, druckt es undefined req.body. Irgendeine Idee, was im folgenden Code fehlt?Wie erstellt man POST-Rest-API mit Nodejs?

Ich habe body-parser Modul

angular.module('App').factory('LogsFactory', function($http) { 
    'use strict'; 
    return { 
     addNewUser: function(user) { 
      console.log('user in factory', user); 
      return $http.post('/newUser', user); 
     } 
    } 
}); 

Node-App.js

var express = require('express'); 
var app = express(); 
var fs = require('fs'); 
var path = require('path'); 
var jsonfile = require('jsonfile'); 
var async = require('async'); 
var server = require('http').createServer(app); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser') 
var io = require('./app/io').initialize(server); 
app.use(cookieParser()); 
require('./app/serverfiles/components/auth')(app); 

app.use(express.static(__dirname + "/public")); 

    app.post('/newUser',function(req,res){ 
     console.log(req.body); 
    }); 
+0

zu überwinden Was 'console.log druckt ('user in der Fabrik', user);'? – lealceldeiro

+0

Verwenden Sie Express? – Aron

+0

@lealceldeiro Benutzer in der Fabrik {"firstName": "John", "lastName": "Strat", "E-Mail": "[email protected]", "_ id": "id8976", "type": "user" , "attuid": "kj897s", "message": "user muss zugreifen"} – hussain

Antwort

4

app.js

angularJsFactory.js hinzugefügt Vergessen Sie nicht, tatsächlich Ihre Express App zu nutzen? der Körperparser.

app.use(bodyParser()); 
0

Wenn Sie Express.js verwenden können Griff POST-Anfragen Sie nur Ihren Code hinzufügen müssen sein:

app.use(express.bodyParser()); 

Ich nehme an das ist, was Sie suchen.

1

den Körper-Parser-Modul Dieses Problem

app.use(bodyParser()); 
Verwandte Themen