vue中使用axios 传参不要对象怎么做?

发布于 2022-09-06 03:42:16 字数 542 浏览 14 评论 0

我用axios传过去的数据是这样的,但我不需要{},就是图中红色圈起来部分

clipboard.png

这是用ajax得到的,是我希望传过去的形式

clipboard.png
我要怎么设置axois 啊
这是我axios的代码

clipboard.png

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

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

发布评论

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

评论(6

痴梦一场 2022-09-13 03:42:16

使用qs模块进行序列化

npm install qs -S

//POST传参序列化(添加请求拦截器)
Axios.interceptors.request.use(
  config => {
    // 在发送请求之前做某件事
    if (
      config.method === "post"
    ) {
      // 序列化
      config.data = qs.stringify(config.data); // ***** 这里转义
    }

    // 若是有做鉴权token , 就给头部带上token
    if (localStorage.token) {
      config.headers.Authorization = localStorage.token;
    }
    return config;
  },
  error => {
    Message({
      //  饿了么的消息弹窗组件,类似toast
      showClose: true,
      message: error,
      type: "error.data.error.message"
    });
    return Promise.reject(error.data.error.message);
  }
);
猥琐帝 2022-09-13 03:42:16

确定传入的参数params是对象,post函数的第二个参数{params} 去掉{}号 还有建议楼主下次代码不要截图 复制一下贴上来比较合适

凉风有信 2022-09-13 03:42:16

...你把{}去掉不就好咯

装迷糊 2022-09-13 03:42:16

参考这个https://segmentfault.com/q/1010000011881408?_ea=2795421

最近怎么这么多问axios的啊,而且你在params外面加了个{}是不行的。

内心旳酸楚 2022-09-13 03:42:16

参数 params外面不能直接加{},字符串和变量不能直接写一起啊。去掉外层的括号就好了吧

不乱于心 2022-09-13 03:42:16

标准解决方式

import axios from 'axios'
import promise from 'es6-promise'
import Qs from 'qs'
// promise 兼容
promise.polyfill()
// 请求头
axios.defaults.headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
}
// 兼容form-data方式进行数据转换 ->推荐'application/json'
axios.defaults.transformRequest = [function (data) {
  data = Qs.stringify(data)
  return data
}]

引入qs包对数据做序列化处理Qs.stringify(data)

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