在请求的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); //异常的,返回一个错误信息 } ) } ); }
分类:
vue
, vue+elementUI+sprintboot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-07-30 django之缓存
2020-07-30 centos7安装python3环境