跨域请求!

/*
 * @Description: 配置文件
 */
module.exports = {
  publicPath: "./",
  devServer: {
    open: true,
    proxy: "http://106.15.179.105/api"  //跨域路径
  },
};
// proxy是代理的意思
// 代理跨域就是在欺骗浏览器 让浏览器认为你访问的还是 同源的localhost:8080 ,但是用代理把地址代理到了需要跨域的地址去了

// 首先第一步把vue.config.js放在项目的根目录下
// 然后重启项目
// 在这里代理的关键字是/api,也就是在之后请求的时候 在路径前拼接/api
// 如果用http 必须要把baseurl删除

 

http.js 放在src根目录下
import Axios from "axios";

var baseURL=('http://106.15.179.105/api');

// module.exports = {
//     publicPath: "./",

//     devServer: {
//       open: true,

//       proxy: "http://106.15.179.105/api"

//     },

//   };

 

const instance = Axios.create({
  baseURL,

  //请求的基本路径

  timeout: 5000,

  //超时时间  超过这个时间就不再执行

});

//创建axios实例

 

// 封装http方法,如果请求成功就把请求到的数据return 如果响应失败就执行失败的catch函数

// data是post的传参  params是get的传参

export default function http(url, method, data = {}, params = {}) {
  return instance({
    url: url,

    method: method,

    data: data,

    params: params,

  })

    .then((res) => {
      // console.log(res);

      if (res.status >= 200 && res.status < 300) {
        return res;

      } else {
        return Promise.reject(res.data.meta.msg);

        //如果状态码不是200-300的之后就走失败的回调

      }

    })

    .catch((err) => {
      return Promise.reject(err);

    });

}

 

// http.js就是封装的一个 axios请求的方法 后期还要添加一个请求拦截 一个响应拦截

 

// http.js 是封装的一个axios方法 比着直接用axios的好处是:可以设置baseurl和timeout

 

// 怎么使用:

// 注意 使用http同样要下载axios

// 在main.js写上

//import axios from 'axios'
//Vue.prototype.$axios=axios
 
// 在请求axios 的时候
 // this.$axios({ url: "/resources/carousel", method: "post" }).then((res) => {

      // console.log(res.data);

    });
在这里插入代码片

跨域写完后,一定要重启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值