vue前端使用axios传参注意事项

axios只支持键值对传参,如果只有一个数据也要封装为键值对,ids为后台接收的参数
例如const data = { ids: JSON.stringify(parameter) }

1.如果后台接收的数据类型为数组类型,则,前台组装数据为1,2,2,4,3
注意不要加()和[],否则出错
2.如果传递集合形式: ids=[1,18,19,20,21,22,23,24,25,26]
报错,The valid characters are defined in RFC 7230 and RFC 3986
这里使用post方式也会报错,需要转义或者降低Tomcat版本

### 如何在 Vue 2 中通过 Axios 向后端递参数 #### 使用 Axios 的 GET 请求递参数 GET 请求通常用于从服务器获取资源,可以通过 URL 查询字符串的方式递参数。以下是具体实现方式: ```javascript const params = new URLSearchParams(); params.append('id', 1); params.append('name', 'John'); axios.get('https://api.example.com/data', { params: { id: 1, name: 'John' } }) .then(response => { console.log('数据获取成功:', response.data); }) .catch(error => { console.error('数据获取失败:', error); }); ``` 上述代码展示了如何通过 `axios.get()` 方法发送带有查询参数的请求[^2]。 --- #### 使用 Axios 的 POST 请求递参数 POST 请求主要用于向服务器提交数据,可以将参数放在请求体(Body)中输。以下是一个完整的示例: ```javascript const data = { id: 1, name: 'John' }; axios.post('https://api.example.com/data', data) .then(response => { console.log('数据提交成功:', response.data); }) .catch(error => { console.error('数据提交失败:', error); }); ``` 此代码片段说明了如何利用 `axios.post()` 将 JSON 数据作为请求体的一部分发送给服务器[^4]。 --- #### 参数类型总结 根据实际需求可以选择不同的参数递方式: - **Query Parameters**: 常见于 GET 请求,适用于少量简单的键值对。 - **Request Body (JSON)**: 主要应用于 POST 或 PUT 请求,适合复杂结构的数据。 对于 Spring Boot 后端开发而言,接收这些参数时需要注意前端使用的编码形式以及后端对应的解析逻辑[^3]。 --- #### 配置全局拦截器优化体验 为了增强项目的可维护性和统一处理能力,还可以设置 Axios 拦截器来自动附加公共字段或者 token 等信息到每次请求上: ```javascript axios.interceptors.request.use(config => { config.headers['Authorization'] = `Bearer ${localStorage.getItem('token')}`; return config; }, error => { return Promise.reject(error); }); axios.interceptors.response.use(response => { return response; }, error => { if (error.response.status === 401) { alert('未授权访问'); } return Promise.reject(error); }); ``` 以上代码实现了基本的身份验证机制并提供了错误提示功能[^1]。 --- ### 注意事项 当涉及到跨域资源共享(CORS)问题时,请确认后端已正确配置允许来自特定源的请求;另外,在生产环境中应始终加密敏感信息以保障安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值