Axios 在 main.js 中配置后无法发送请求到服务器的问题?

服务器运行起来等客户端连接
image.png
也在main.js全局配置了vue的axios

//axios引入
import axios from 'axios'
axios.defaults.baseURL = "http:://114.132.234.12:8080/"
axios.defaults.headers.common['Authorization'] ='Bearer token';
axios.defaults.timeout = 10000;

//请求拦截器,里面是箭头函数 —— 左边形参,右边函数体
axios.interceptors.request.use(
  config => {
    console.log(config)
    console.log(config.headers)
    //在请求发送之前做一些事情,比如添加 token
    token = localStorage.getItem('token');
    if(token){
      config.headers.Authorization = "Bearer ${token}";
    }
    return config
  },
  error =>{
    //处理请求错误
    return Promise.reject(error)
  }
)

//响应拦截器
axios.interceptors.response.use(
  response =>{
    //对响应数据做处理
    return response;
  },
  error=>{
    if(error.response){
      console.error(error.response.status)
    }
    else{
      console.error("网络异常,请重试")
    }
    return Promise.reject(error)
  }
)
Vue.prototype.$http = axios

表单提交的函数
image.png

但是点注册后根本没有连到服务器,就执行了请求拦截里的函数
image.png

我的服务器用浏览器是可以连的,这是什么原因

求大佬解答解答

。。。。。
这是云服务器114.132.234.12,厂商的8080端口已经被我放通了
image.png

阅读 1.1k
1 个回答

跨域了吧。下面三个方法任选一个

  1. 前端本地代理(开发环境)
  2. 前端 nginx 代理(一般是测试环境或者生产环境)
  3. 后端 cors 开跨域

最简单是改后端吧,因为只改一个地方。

正常项目的话,是改前端开发和部署使用不同的代理方式。

推荐问题
宣传栏