vue-axios携带不同参数的总结

1.URL参数

URL参数直接附加在URL后面,通常用于GET请求。

复制代码
axios.get('/user?id=12345&name=John')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

2.查询参数

查询参数通常用在GET请求中,可以通过params属性传递。

复制代码
axios.get('/user', {
  params: {
    id: 12345,
    name: 'John'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});

3.POST请求体数据

在POST请求中,通常将数据放在请求体中。可以通过data属性传递JSON对象。

复制代码
axios.post('/user', {
  id: 12345,
  name: 'John'
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});

4.FormData数据(文件上传等)

对于需要上传文件或其他非JSON数据的场景,可以使用FormData

复制代码
const formData = new FormData();
formData.append('file', fileInput.files[0]); // fileInput是<input type="file">元素
formData.append('id', '12345');
formData.append('name', 'John');

axios.post('/upload', formData, {
  headers: {
    'Content-Type': 'multipart/form-data' // 不设置时,Axios会自动设置,但仍需明确指出以避免潜在问题
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});

5.URL编码的表单数据(application/x-www-form-urlencoded)

对于需要使用application/x-www-form-urlencoded格式的POST请求,可以使用URLSearchParams

复制代码
const params = new URLSearchParams();
params.append('id', '12345');
params.append('name', 'John');

axios.post('/user', params.toString(), {
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded' // 需要明确设置Content-Type头信息
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});

或者使用qs库将对象转换为查询字符串:

复制代码
import qs from 'qs'; // 首先需要安装qs库:npm install qs
const data = qs.stringify({ id: '12345', name: 'John' }); // 使用qs库转换对象为查询字符串格式的字符串
axios.post('/user', data, { 
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' } 
})...; // 同上处理响应等。
相关推荐
一袋米扛几楼981 天前
【网络安全】SIEM -Security Information and Event Management 工具是什么?
前端·安全·web安全
小陈工1 天前
2026年4月7日技术资讯洞察:下一代数据库融合、AI基础设施竞赛与异步编程实战
开发语言·前端·数据库·人工智能·python
Cobyte1 天前
3.响应式系统基础:从发布订阅模式的角度理解 Vue2 的数据响应式原理
前端·javascript·vue.js
竹林8181 天前
从零到一:在React前端中集成The Graph查询Uniswap V3池数据实战
前端·javascript
Mintopia1 天前
别再迷信"优化":大多数性能问题根本不在代码里
前端
倾颜1 天前
接入 MCP,不一定要先平台化:一次 AI Runtime 的实战取舍
前端·后端·mcp
军军君011 天前
Three.js基础功能学习十八:智能黑板实现实例五
前端·javascript·vue.js·3d·typescript·前端框架·threejs
恋猫de小郭1 天前
Android 上为什么主题字体对 Flutter 不生效,对 Compose 生效?Flutter 中文字体问题修复
android·前端·flutter
Moment1 天前
AI全栈入门指南:一文搞清楚NestJs 中的 Controller 和路由
前端·javascript·后端
禅思院1 天前
前端架构演进:基于AST的常量模块自动化迁移实践
前端·vue.js·前端框架