Vue2:axios解决跨域的问题(vue2没有config情况下)

在vue2上用axios发起Post模拟注册的时候,调用接口,提示报错:

        axios({
          method: 'post',
          url: 'http://1.12.254.80:8080/api/user/register',
          // url: '/user/api/user/register',
          data: { // 请求体数据
            userAccount: userName,
            userPassword: pwd1,
            checkPassword: pwd2
          }
        }).then(res => {
          if (res.data === -1) {
            alert('注册失败,用户名被占用啦')
          } else {
            console.log('注册成功')
            alert('注册成功!您可以登录啦')
          }
        })

 接口:http://1.12.254.80:8080/api/user/register

 方式:POST

 数据:用户名、密码、确认密码

点击注册按钮,发起POST请求以后发生错误,一个跨域的问题

这个时候在前端身上解决跨域的问题即可

这里我创建的vue2项目是没有config文件夹的,也就不能修改到里面的index文件,所以手动配置

1、找到vue文件夹下的vue.config.js文件

如果没有该文件,就手动在根目录上创建一个

复制代码

module.exports = {
  // 开发服务器
  devServer: {
    port: 8082, // 修改启动端口号
    proxy: {
      '/user': { // 请求相对路径以 /user 开头的,才会走这里的配置
        target: 'http://1.12.254.80:8080', // 这个就是后端地址
        changeOrigin: true,
        pathRewrite: {
          '^/user': ''
        }
      }
    }
  },
  publicPath: './'
}

 个人提示:

        1、这里的端口号可以修改一下,默认的vue项目启动都是8080,我这里的Api端口号就冲突了,代理后就给我报404..(不知道是不是这个的问题,在没改端口之前请求都失败了,该端口后就成功了)

2、在axios上修改url地址

        axios({
          method: 'post',
          url: 'user/api/user/register',
          data: { // 请求体数据
            userAccount: userName,
            userPassword: pwd1,
            checkPassword: pwd2
          }
        })

axios方法中的url参数是配置代理以后的

3、测试

成功辣

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长风沛雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值