vue-cli3 axios解决跨域问题

这种错误就是跨域问题:

我百度了各种方法,最终下面这种方法解决了,直接上代码: 

解决:

如果没安装axios: 

npm install axios -save     //安装axios

main.js

 //引入axios
import axios from ‘axios‘
Vue.prototype.axios=axios

axios.defaults.baseURL = ‘/api‘

我用的是vue-cli3开发的项目,没有vue.config.js目录,这个是我新建的

vue.config.js中的代码:

module.exports = {
    devServer: {
        proxy: {
            ‘/api‘: {
                // 此处的写法,我访问的是http://localhost:8080/api/dataHome.json设置代理后,axios请求不需要把域名带上,只需要把路径前面加上 /api 即可。
                target: ‘http://localhost:8080/api/‘,
                // 允许跨域
                changeOrigin: true,
                ws: true,
                pathRewrite: {
                    ‘^/api‘: ‘‘
                }
            }
        }
    }
}

请求路径:

由于设置了 pathRewrite,所以请求时会把 /api 替换成 ‘‘,最终的请求路径为 /dataHome.json
methods:{
            http(){
                let that=this;
                this.axios.get("/dataHome.json")
                .then((res)=>{
                    console.log(res);
                }).catch((error)=>{
                    console.log(error)
                })
            }
        }

重新运行

npm run serve

最后请求到了数据,嘿嘿

原文地址:https://www.cnblogs.com/jxnc/p/12249953.html

时间: 2024-11-26 00:28:05

vue-cli3 axios解决跨域问题的相关文章

vue webpack配置解决跨域问题

现在基本项目都是实行前后端分离的原则,不管是ng 或者是vue 在开发中都无法避免跨域的这个问题 本人刚上手第一个vue项目,在调用api的时候出现了跨域的这个问题 这是封装好一个简单的post 请求 http.js post (url, data) { return axios({ method: 'post', baseURL: '/api', url, data: data, timeout: 10000, headers: { 'X-Requested-With': 'XMLHttpRe

【VUE】vue在vue-cli3环境下基于axios解决跨域问题

网上的绝大部分教程解决vue+axios跨域问题都不能直接适用vue-cli3.这是因为vue-cli3不一样的配置方式导致的. 如果是使用vue-cli3构建的项目,那么默认是没有config.js文件的.按照官方文档介绍,每个人可以通过在项目根目录下建立vue.config.js文件,配置属于自己的config文件. 之后按照网上其他的解决axios跨域问题的方案实施即可. // vue.config.js module.exports = { publicPath: '/', devSer

记录:使用springboot的cors和vue的axios进行跨域

一.编写一个配置类,并且注册CorsFilter: 注意允许跨域的域名不要写错 @Configuration public class ZysuyuanCorsConfiguration { @Bean public CorsFilter corsFilter() { // 初始化cors配置对象 CorsConfiguration corsConfiguration = new CorsConfiguration(); // 允许跨域的域名,如果要携带cookie,不能写*,*代表所有域名都可

.net core3.1 webapi + vue.js + axios实现跨域

我所要讲述的是,基于.net core3.1环境下的webapi项目,如何去使用axios对接前端的vue项目 既然谈到axios,这里贴出axios的官方文档地址: http://www.axios-js.com/zh-cn/docs/ 首先是前端部分进行设置 第一步,在vue项目中安装axios 在vs code的终端中输入命令 npm install axios 稍等片刻,即可完成安装 第二步,构建axios的测试api 首先需要在main.js中,引入前面安装的axios 然后在某个组件

vue项目中解决跨域问题axios和

项目如果是用脚手架搭建的(vue cli)项目配置文件里有个proxyTable proxyTable是vue-cli搭建webpack脚手架中的一个微型代理服务器,配置如下 配置和安装axios 安装npm install axios 引用: 参考:https://blog.csdn.net/wh_xmy/article/details/87705840 原文地址:https://www.cnblogs.com/whdaichengxu/p/12340914.html

vue.js vue-jsonp解决跨域问题

安装jsonp npm install vue-jsonp --save main.js中引入 import VueJsonp from 'vue-jsonp' Vue.use(VueJsonp) 组件中基本用法 this.$jsonp('/company/Info',{id:233,name:'zhangsan'}).then(json => { // 返回数据 json, 返回的数据就是json格式 }).catch(err => { console.log(err) }) 原文地址:ht

vue中解决跨域问题

方法1.后台更改header header('Access-Control-Allow-Origin:*');//允许所有来源访问 header('Access-Control-Allow-Method:POST,GET');//允许访问的方式 方法2.使用JQuery提供的jsonp methods: { getData () { var self = this $.ajax({ url: 'http://f.apiplus.cn/bj11x5.json', type: 'GET', data

vue.js学习之 跨域请求代理与axios传参

vue.js学习之 跨域请求代理与axios传参 一:跨域请求代理 1:打开config/index.js module.exports{ dev: { } } 在这里面找到proxyTable{},改为这样: proxyTable: { '/api': { target: 'http://121.41.130.58:9090',//设置你调用的接口域名和端口号 别忘了加http changeOrigin: true, pathRewrite: { '^/api': ''//这里理解成用'/ap

vue前后端分离解决跨域问题

用Vue-cli脚手架搭建了个demo,前后分离就有跨域问题的出现. vue-clie搭建demo步骤(传送门):https://www.cnblogs.com/wangenbo/p/8487764.html 我自己在网上找了2个接口做测试: CSDN:https://www.csdn.net/api/articles?type=more&category=home&shown_offset=1524276761019196&first_view=false 掘金:https://