私は例を取り上げていますが、このエクスプレスの例から単一の従業員インスタンスを取得しようとしていますが、localhost:3000/1と入力すると空の配列が取得されます。誰でも私がここで間違っていることを知っていますか?明示的な応答で空の配列を取得しています
'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);
});
を 'req.params.EmployeeID'は何ですか?ここでの可能性の1つは、あなたが正しいIDを渡していないので、一致を見つけることがないということです。また、 'employees'配列は検索しているだけで変更するべきではありません。これにより、次に検索したいときにデータが破損します。 – jfriend00