2016-12-22 4 views
-2
var express = require('express'); 
var app = express(); 
var bodyParser = require('body-parser'); 




//PROBLEM LINE 
    **app.use(parser.json);** 
///////////////  




var todos = []; 
var nextTodoItem = 1; 
app.use(bodyParser.json); 


app.get('/', function(req, res){ 
    //console.log("ToDo Root"); 
    res.send("ToDo Root"); 
}); 

//GET REQUEST TO GET ALL TODO ITEMS 
     // GET /todos 

app.get('/todos', function (req, res) { 
    // Need to send back the array of todos 
    res.json(todos); //array is converted to JSON. 
    } 

); 

//GET REQUEST TO GET SOME SPECIFIC TODO 
     //GET todos/:id 
       //Express uses : (colon) to parse data. 

app.get('/todos/:id', function (req, res) { 
    var todoID = parseInt(req.params.id, 10); 
    var todoObjectWithID = -1; 
    todos.forEach(function (todo) { 
     if(todo.id == todoID){ 
      todoObjectWithID = todos[todoID - 1]; 

     } 
    }); 

    if(todoObjectWithID == -1){ 
     res.status(404).send(); 


    } else { 
     res.json(todoObjectWithID); //Send the JSON of the specific todo with id requested. 
    } 
    console.log('Asing for todo with id of ' + req.params.id); 
}); 


//Create a POST request to create new TODO Items. 

     //POST /todos 
app.post('/todos', function(req, res){ 
    var body = req.body; 
    console.log("description"); 
    res.json(body); 

}); 




//Server basic start up (port and log) 

app.listen(3000, function() { 
    console.log("Server up and running"); 
}); 

Ich betreibe den Server mit bash (Mac OS), aber ich gehe zu http://localhost:3000 nichts Lasten, aber wenn ich die app.use(bodyParser) entfernen lädt es richtig.Körper Parser lassen localhost Last NODE nicht

Was ist das Problem im Body-Parser?

Dieses Problem tritt nur auf, wenn ich diese Zeile habe, sonst läuft der Server völlig in Ordnung. Ich brauche diesen Parser aber, was ist meine Option?

Antwort

1

Ändern Sie diese Zeile in app.use(bodyParser.json());

Verwandte Themen