query与params的区别

212 阅读1分钟

在Vue中

  • query
<router-link :to="{ name: 'w', query: { id:'1234',age:'12' }}"/>
<router-link :to="{ path: '/W', query: { id:'1234',age:'12' }}"/>
{
  path: '/W', 
  name: 'w', 
  component: W
}

// 对应的url
http://localhost:8080/#/hhhhhhh?id=1234&age=12

使用query既可以通过name也可以通过path来跳转

  • params
<router-link :to="{ name: 'W', params: { id:'1234',age:'12' }}"/>
{
  path:'/W/:id/:age',
  name:'W',
  component:W
}

//对应的url
http://localhost:8080/#/W/1234/12

使用params只能通过name来进行跳转

Node中的req.query和req.params

  • req.query
// 前端
axios.get(`/api/?id=1234`);
axios.get(`/api`,{ params:{id:'1234' })

// 后端
router.get('/api',function(req,res){
  console.log(req.query.id)
  .......
})
  • req.params
// 前端
axios.get(`/api/1234`)

// 后端
router.get('/api/:id',function(req,res){
  console.log(req.params.id)
  .......
})