前端解决No 'Access-Control-Allow-Origin'
作者:互联网
在请求的header中加上:
Access-Control-Allow-Origin=*
如下:
axios.defaults.headers.post['Access-Control-Allow-Origin']='*';
import axios from "axios"; import router from "../router"; //导入axios axios.defaults.timeout = 5000; //设置前台访问后台的超时时间为5000毫秒,即5秒 axios.defaults.withCredentials = true; //允许跨域 //Content-type 响应头 axios.defaults.headers.post['Content-type']='application/x-www-form-urlencoded;charset=UTF-8'; axios.defaults.headers.post['Access-Control-Allow-Origin']='*'; //基础url axios.defaults.baseURL="http://localhost:8888"; //响应拦截器 axios.interceptors.response.use( response =>{ //如果response里面的status是200,说明访问到接口了,否则错误 if(response.status==200){ return Promise.resolve(response); //Promise.resolve,执行成功 }else{ return Promise.reject(response); //Promise.reject,执行失败 } }, error=>{ if(error.response.status){ switch (error.response.status) { case 401: //未登录 router.replace({ //router.replace(),替换到当前的历史 path:'/', query:{ redirect:router.currentRoute.fullPath } }); break; //退出 case 404: //没找到 break; } return Promise.reject(error.response); //返回执行失败 } } ); //整个拦截的过程 /* * 封装get方法 * */ export function get(url,params={}) { return new Promise( //一个正常的结果,一个异常的结果 (resolve,reject) =>{ axios.get(url,{params:params}) .then(response=>{ resolve(response.data); //正常的,返回响应数据 }) .catch( err =>{ reject(err); //异常的,返回一个错误信息 } ) } ); } /* * 封装一个post方法 * */ export function post(url,data={}) { return new Promise( //一个正常的结果,一个异常的结果 (resolve,reject) =>{ axios.post(url,data) .then(response=>{ resolve(response.data); //正常的,返回响应数据 }) .catch( err =>{ reject(err); //异常的,返回一个错误信息 } ) } ); }
标签:Control,Origin,axios,No,resolve,Promise,defaults,reject,response 来源: https://www.cnblogs.com/jingzaixin/p/16534955.html