使用vue,axios开发下的跨域设置(状态码200,返回数据了,但是浏览器拦截并报错)
本人菜鸟学徒一只,在学习前端过程中踩了不少坑,几天就遇到了用vue,axios写项目时的坑,在请求聚合数据接口的时候,明明用get方式请求成功,json数据也返回到后台了,偏偏控制台报错,提示"Access-Control-Allow-Origin"";
网上找了一个天,各种方法都试过,都不奏效,熬到凌晨3点终于找到了解决方法:
import Axios from "axios"; // 引入axios
Vue.prototype.$ajax = Axios; //挂载axios插件的方法
我的webpack配置文件是webpack.config.js,在配置中添加
proxy: { "/api": { target: "此处写要访问的API域名,如:
http://v.juhe.cn/toutiao/index",changeOrigin: true, pathRewrite: {"^/api": ""} }}
然后在需要访问API的vue文件中这样写
this.$ajax.get("/api" + url) // url格式,如:?type=xxx&key=value
.then(res => {console.log(res); }) .catch(err => { console.log(err); })
this.$ajax.post("/api" + url,{
headers: {"Access-Control-Allow-Origin": "*",} }).then(res => { console.log(res); }) .catch(err => { console.log(err); })
成功返回数据:
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 关于两层for循环的跳出
- 下一篇: 各版本IIS中CGI超时的设置方法