Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想让员工';从req部门id传递到url的s部门数据_Javascript_Node.js_Express - Fatal编程技术网

Javascript 我想让员工';从req部门id传递到url的s部门数据

Javascript 我想让员工';从req部门id传递到url的s部门数据,javascript,node.js,express,Javascript,Node.js,Express,如何在这些路由上使用可选的查询筛选器,例如“/employees?department=4”,并返回部门号为4的数据 app.get("/employees", (req, res) => { dataService.getAllEmployees().then(function(data) { res.json(data); }).catch(function(err) { var error = { "message": err };

如何在这些路由上使用可选的查询筛选器,例如“/employees?department=4”,并返回部门号为4的数据

app.get("/employees", (req, res) => {
    dataService.getAllEmployees().then(function(data) {
        res.json(data);
    }).catch(function(err) {
        var error = { "message": err };
        res.json(error);
    });
我在dataService模块中已经有了返回id为的部门承诺的函数

function getEmployeesByDepartment(department) {
    return new Promise((resolve, reject) => {
        try {
            employees.forEach((element) => {
                if (element.department == department) {
                    resolve(element);
                }
            });
        } catch (error) {
            reject("no data returned");
        }
    });
}

可以使用对象访问查询参数

在您的情况下,代码将类似于:

if (req.query.department) {
  return getEmployeesByDepartment(req.query.department).then(
    data => res.json(data)
  );
} else {
  return dataService.getAllEmployees().then(
    data => res.json(data)
  );
}

您可以使用
req.query
获取查询字符串数据,并将部门传递给
getEmployeesByDepartment
函数

app.get("/employees", (req, res) => {
  var department  = req.query.department || "";
  if(department){
    getEmployeesByDepartment(department).then(data => res.json(data));
  }
  else{
    dataService.getAllEmployees().then((data) => {
      res.json(data);
  }).catch((err) => {
      var error = { "message": err };
      res.json(error);
  }
);