亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果條件沒有在 Express 路由中觸發

如果條件沒有在 Express 路由中觸發

心有法竹 2022-06-16 15:18:02
這真的很奇怪,我無法理解我做錯了什么。我有一個復選框,當檢查時,將searchByName參數設置為true某些React組件中的參數。然后,我正在使用axios需要.get搜索并返回用戶列表的路線。如果searchByName是true,則按名稱查詢MongoDB,如果是 ,則false使用其他一些參數進行查詢。問題是,當我searchByName在路由中進行控制臺時,我看到它的值正確(真或假),但是,我檢查它是真還是假的條件不會觸發,我總是得到結果true案子。我添加console.log("Im name")并console.log("Im city")查看代碼是否觸發,但總是name如此,即使searchByName是錯誤的。你能幫忙解決這個問題嗎?// @route   GET api/report/:search/:searchByName// @desc    Get users// @access  Privaterouter.get("/:search/:searchByName", auth, async (req, res) => {  if (req.params.searchByName) {    console.log("im name");    try {      const query = req.params.search;      const reports = await Report.find({        name: { $regex: query },        isPublic: true      })        .select([          "name",          "status",          "startDate",          "country",          "zipcode",          "city",          "address"        ])        .populate("users", [          "name",          "status",          "startDate",          "country",          "zipcode",          "city",          "address"        ]);      res.json(reports);    } catch (err) {      console.error(err.message);      res.json(err);      res.status(500).send("Server Error");    }  } else if (!req.params.searchByName) {    console.log("im city");    try {      const query = req.params.search;      const reports = await Report.find({        $or: [{ city: { $regex: query } }, { zipcode: { $regex: query } }]      })        .select([          "status",          "startDate",          "country",          "zipcode",          "city",          "address"        ])        .populate("users", [          "status",          "startDate",          "country",          "zipcode",          "city",          "address"        ]);      res.json(reports);    } catch (err) {      console.error(err.message);      res.json(err);      res.status(500).send("Server Error");    }  }});
查看完整描述

1 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

你的searchByName參數是一個字符串。用于req.params.searchByName === 'true|false'檢查是否為truefalse。



查看完整回答
反對 回復 2022-06-16
  • 1 回答
  • 0 關注
  • 92 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號