Ich arbeite an einem Beispiel, ich versuche, eine einzelne Mitarbeiter-Instanz von diesem ausdrücklichen Beispiel zu bekommen, aber wenn ich, localhost eingeben: 3000/1, bekomme ich ein leeres Array. Weiß jemand, was ich hier falsch mache?leer Array auf Express-Antwort
'use strict';
const express = require('express');
const app = express();
var employees = [
\t {
"EmployeeID" :1 ,
"EmployeeName" : "RNA Team",
"Salary" : "200000",
"Address" : "Bangalore"
},
{
"EmployeeID" :2 ,
"EmployeeName" : "Mahesh Samabesh",
"Salary" : "100000",
"Address" : "Hydrabad"
},
{
"EmployeeID" :3 ,
"EmployeeName" : "Rui Figo",
"Salary" : "50000",
"Address" : "Dallas"
},
{
"EmployeeID" :4 ,
"EmployeeName" : "Indradev Jana",
"Salary" : "456789",
"Address" : "Los Angles"
},
{
"EmployeeID" :5 ,
"EmployeeName" : "Suresh Shailesh",
"Salary" : "1234567",
"Address" : "Patna"
}
];
//Get the employees records
app.get('/', function(req, res){
\t res.send(employees);
});
//run the server
var server = app.listen(3000, function(){
\t var host = server.address().address;
\t var port = server.address().port;
\t console.log('Server started and listening at:> http://%s:%s', host, port);
});
//Get single employee record
app.get('/:EmployeeID', function(req, res){
\t var employeeID = req.params.EmployeeID;
\t //Get Employee Records whose EmployeeID = get the EmployeeID at runtime
\t var filteredEmployee = [];
\t for(var i=0; i < employees.length; i++){
\t \t if(employees[i].EmployeeID == employeeID){
\t \t \t filteredEmployee.push(employees[i]);
\t \t }
\t } //end Loop
\t employees = filteredEmployee;
\t console.log(filteredEmployee);
\t res.send(employees);
});
Was ist 'req.params.EmployeeID', wenn Sie es versuchen? Eine Möglichkeit besteht darin, dass Sie nicht die richtige ID eingeben, so dass Sie nie eine Übereinstimmung finden. Außerdem sollten Sie das Array "employees" nicht ändern, nur weil Sie es suchen. Dadurch werden die Daten für die nächste Suche beschädigt. – jfriend00