Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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 无法识别快速获取路线_Javascript_Node.js_Api_Express_Routes - Fatal编程技术网

Javascript 无法识别快速获取路线

Javascript 无法识别快速获取路线,javascript,node.js,api,express,routes,Javascript,Node.js,Api,Express,Routes,我有这条路线: //修复程序:此死记硬背有未知错误 路由器.get('/unverified',异步(req,res)=>{ 试一试{ const unverifiedUsers=wait User.find( {is_verified:false,is_admin:false}, {姓名:1,代码:1,电子邮件:1,性别:1} ); 返回res.status(200).json(未验证的用户); }捕获(错误){ 返回res.status(400).send({error}); } });

我有这条路线:

//修复程序:此死记硬背有未知错误
路由器.get('/unverified',异步(req,res)=>{
试一试{
const unverifiedUsers=wait User.find(
{is_verified:false,is_admin:false},
{姓名:1,代码:1,电子邮件:1,性别:1}
);
返回res.status(200).json(未验证的用户);
}捕获(错误){
返回res.status(400).send({error});
}
});
我是这样用的:

app.use('/api/users',userRoute);
每次我去
http://localhost:5000/api/users/unverified
我得到了这个:

{
“错误”:{
“stringValue”:“未验证”,
“种类”:“ObjectId”,
“值”:“未验证”,
“路径”:“\u id”,
“理由”:{}
}
}

这对我来说很奇怪,因为其他路径工作得很好,而这个错误并没有给我一个原因。

您试图转到名为“unverified”的路径名,但您没有到它的路径

你必须这样做

router.get('/api/users/unverified', async (req, res) => {
try {
const unverifiedUsers = await User.find(
  { is_verified: false, is_admin: false },
  { name: 1, code: 1, email: 1, gender: 1 }
);
 return res.status(200).json(unverifiedUsers);
} catch (error) {
return res.status(400).send({ error });
}
});
您还需要有一个路径名相同的路由

app.use('/api/users/unverified', userRoute);

您的问题中的catch对象的错误,还是您的catch-all错误?如果答案中有一个,那么您的错误在
try
块内,并且您的路线没有问题。。。试着简单地做
res.json({hi:“there”})
-就像我在其他问题上做的那样,你提到的工作…@balexandre我甚至试过console.log()在try/catch之外,它没有出现。我还删除了mongoose逻辑,但它仍然…我们需要确定您显示的错误是来自
catch
块还是来自服务器中的其他错误机制?一些
console.log()
语句放在适当的位置可以很容易地回答这个问题。将一个语句放在路线的开始处(在
try
之前)。将一个语句放在
wait User.find()之后
。在
catch
中放置一个。告诉我们哪些日志语句被命中。仅供参考,这是基本调试/故障排除,通常应该是您在发布到此处之前所做的事情,作为您自己的故障排除的一部分。您也可以在调试器中使用断点来了解相同的信息。@Phil在
try
关键字之前。Apparen当然,回调没有执行那是你的问题。你需要先定义具体的路由,比如
/unverified
。我肯定这里有重复的帖子,我认为你误解了OP的代码。
userRoute
是一个路由器,上面有
/unverified
路由。还有,
app.use('/api/users',userRoute);
然后为
/api/users/unverified
创建正确的路由。