我正在處理一個示例,我試圖從此快速示例中獲得單個員工實例,但是當鍵入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'當你嘗試了嗎?這裏的一個可能性是你沒有傳入正確的ID,所以你永遠找不到匹配。另外,你不應該因爲你正在搜索而改變'employees'數組。這會在下次要搜索時損壞數據。 – jfriend00