vue 跨域cross配置

前言

vue进行接口调试的时候,如果涉及到服务器和本地的跨域问题的话,用get简单请求是可以获取到数据的,但是如果是post或者带有请求前缀如AccessToken之类的复杂请求的话需要配置config/index.js下的proxytable,否则会报跨域错误。

配置参数

proxyTable: {
      // 替换的简写
      '/api':{
        target:'https://www.apiopen.top',  // 接口地址
        changeOrigin: true // 是否跨域
        pathRewrite:{
          '^/api':''//注意实际接口不存在/api就需要重写去除,比较会提示server 503
        }
      }
    },

接口示例

import axios from '../utils/axios';
import qs from 'qs'
const service=axios.create({
  baseURL:'/api',//替代接口地址
  timeout:5000,
  // 处理参数
  transformRequest:[function(data){
    data=qs.stringify(data);
    return data;
  }]
})
export default service
export const regist =(key,phone,passwd)=>{
    const data={
        key,phone,passwd
    }
    return axios.post('/createUser',data)
}

Vue axios后台post参数为空

根本原因

目前java php node也好,后台接收的post数据都是基于发送时使用的application/x-www-form-urlencoded的传递方式,而axios默认的传递方式为Content-type为application/json,所以导致了默认的post传递数值为空。

解决方案:

1 改写userService(不推荐)
通过URLSearchParams处理参数,URLSearchParams的兼容性并不高,(需要polyfill,支持google不支持ie和360)

 // const params=new URLSearchParams({
    //     key,
    //     phone,
    //     passwd
    // })
    // return axios.post('/createUser',params);

2通过transformRequest每次请求前转换参数

const service=axios.create({
  baseURL:'/api',
  timeout:5000,
  // 处理参数
  transformRequest:[function(data){
    data=qs.stringify(data);
    return data;
  }]
})

参考资料:
axios post参数为null解决 https://www.jianshu.com/p/b22d03dfe006
axios发送POST请求时后台接收不到的问题 https://zhuanlan.zhihu.com/p/27498996

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,805评论 19 139
  • 月中复盘-写作营交稿日 1.本月12.13号和父母一起去了苏州。 旅途一路都很顺畅,但之后在一天的行程结束之后...
    Vanessa茅维桑阅读 1,738评论 0 0
  • (早晨—170101)回首一六挥挥手,半喜半愁到中年。事业末拓路艰辛,还好精神在眼前。一路泥泞路继续,雨打风吹也向...
    甘朝武阅读 1,238评论 0 0
  • 桃艳三湘迎远客, 花香十里醉仙人。 源头活水何方觅? 美丽神州处处春。
    艾思阅读 4,940评论 18 32
  • 『如果你自己都不相信,为什么要我来相信呢』 爸爸曾经跟我说过,有些我做的决定,其实他并不赞同,也并不愿意看我去撞南...
    呼葱唤土豆阅读 1,648评论 2 2

友情链接更多精彩内容