最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

在Express JS路由中有条件地传递数据

IT培训 admin 11浏览 0评论

在Express JS路由中有条件地传递数据

在这里表达js问题。我想检查是否在请求中传递了{id}。如果传递了ID,则显示与ID相关的帖子/信息,否则,显示所有帖子。

我尝试过

const posts = [{},{}]    
app.get('/posts/:id',(req,res)=>{
        if(!req.params.id){
          return res.render('posts')
        }
    else{
          const fpost = posts.filter((post)=>{
          return post.id == req.params.id
        })[0]
        res.render('posts',{filterdPost:fpost})
        }

 })

但尝试获取没有ID的帖子时失败。我只需要为帖子创建一条单独的路线吗?

回答如下:

您可以使用运算符将参数设置为可选。

/post/:id?

在Express JS路由中有条件地传递数据

在这里表达js问题。我想检查是否在请求中传递了{id}。如果传递了ID,则显示与ID相关的帖子/信息,否则,显示所有帖子。

我尝试过

const posts = [{},{}]    
app.get('/posts/:id',(req,res)=>{
        if(!req.params.id){
          return res.render('posts')
        }
    else{
          const fpost = posts.filter((post)=>{
          return post.id == req.params.id
        })[0]
        res.render('posts',{filterdPost:fpost})
        }

 })

但尝试获取没有ID的帖子时失败。我只需要为帖子创建一条单独的路线吗?

回答如下:

您可以使用运算符将参数设置为可选。

/post/:id?
发布评论

评论列表 (0)

  1. 暂无评论