You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何结合使用axios.get的params与config?代码无法运行求助

搞定axios.get的params和config结合问题~

嘿,看了你的代码,你是在axios的参数结构上踩坑啦!咱们先理清楚axios.get的正确调用方式:axios.get(url[, config]) —— 第二个参数本身就是完整的配置对象,它可以同时包含params、headers这些属性,不需要把config单独嵌套进去哦。

你的代码问题出在哪?

你原来的写法是把config作为第二个参数里的一个子属性传递:

let config = { 'headers': {'Authorization': 'JWT ' + this.$store.state.token} }
let f = 0
axios.get('http://localhost:8000/api/v1/f/', { 
  params: { page: f + 1 }, 
  config: this.config // 这里错了!axios不识别这个config子属性
})

axios根本不会读取这个嵌套的config属性,所以你的请求头Authorization根本没被带上,自然无法正常运行。

正确的两种写法

写法1:直接把params合并到config对象里

最直观的方式,把分页参数和请求头都放进同一个config对象:

let f = 0
let config = {
  headers: { 'Authorization': 'JWT ' + this.$store.state.token },
  params: { page: f + 1 } // 把params直接加进config
}
axios.get('http://localhost:8000/api/v1/f/', config)

写法2:用展开运算符合并已有config和params

如果你的config是提前定义好的,不想修改它,可以用ES6的展开运算符把它和params合并成新的配置对象:

let config = { headers: {'Authorization': 'JWT ' + this.$store.state.token} }
let f = 0
axios.get('http://localhost:8000/api/v1/f/', {
  ...config, // 展开原有的headers配置
  params: { page: f + 1 } // 添加params参数
})

这样写之后,axios就能同时识别请求头和分页参数啦,你的请求应该就能正常工作了~

内容的提问来源于stack exchange,提问作者KitKit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:14:33