axios post请求参数传递不了?

发布于 2022-09-07 08:34:36 字数 713 浏览 7 评论 0

// axios.js

import axios from 'axios'
import qs from 'qs'

const service = axios.create({
  baseURL: '//askpre.hishixi.cn/api',
  timeout: 15000,
  transformRequest: [function (data) {
    data = qs.stringify({});
    return data;
  }]
})
service.defaults.withCredentials = true
// POST传参序列化
service.interceptors.request.use((config) => {
  return config
}, (error) => {
  return Promise.reject(error)
})

// 返回状态判断
service.interceptors.response.use(function (res) {
  return res.data
}, function (error) {
  return Promise.reject(error)
})

export default service

// 组件

import axios from '../plugins/axios.js'
axios.post('abc', {
  page: 1
})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

Smile简单爱 2022-09-14 08:34:36

transformRequest对data的处理错误


const service = axios.create({
  // ...省略代码
  transformRequest: [function (data) {

    // 此处错误,你想要的是 data = qs.stringify(data); 吧
    data = qs.stringify({}); 
    
    return data;
  }]
})

另外,提个小建议:
为什么withCredentials的设置不在axios.create时直接设置呢,更一目了然。


const service = axios.create({
    // ...省略代码
    withCredentials: true
})
忆梦 2022-09-14 08:34:36

描述清楚点呢。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文