美文网首页
9.跨域处理(代理解决)

9.跨域处理(代理解决)

作者: nora_wang | 来源:发表于2019-06-24 09:59 被阅读0次

1.找到文件build/webpack.dev.conf.js,查看当中的proxy值,为config.dev.proxyTable。
则说明需要去config/index.js中找到dev下的proxyTable,并进行一系列的处理。

2.打开config/index.js文件,找到dev下的proxyTable,如需跨域请求豆瓣api的接口数据。

dev: {
        // Paths
        assetsSubDirectory: 'static',
        assetsPublicPath: '/',
        proxyTable: {
            '/douban_api': {
                target: 'http://api.douban.com',
                pathRewrite:{
                    '^/douban_api':''
                },
                changeOrigin:true //是否跨域
            }
        }

3.main.js中,引入axios模块,并给host原型赋值

import Axios from 'axios'
Vue.prototype.$axios = Axios
Vue.prototype.HOST = '/douban_api'

这时页面中this.HOST指向的就是index.js中定义的 /douban_api 了。

4.重启服务器,项目结束后重启 npm start。
配置文件每次改动后,都需要重启,否则无效。

5.此时,页面进行axios请求时,就能跨域请求到数据了。

<script>
    export default {
        name: "doubanAxios",
        data(){
            return{
                doubanData:[]
            }
        },
        created(){
            var url = this.HOST + '/v2/movie/coming?apikey=0df993c66c0c636e29ecbb5344252a4a';
            this.$axios({
                method:'get',
                url:url,
            }).then(res=>{
                console.log(res);
            }).catch(error=>{
                console.log(error);
            });
        }
    }
</script>

相关文章

网友评论

      本文标题:9.跨域处理(代理解决)

      本文链接:https://www.haomeiwen.com/subject/ucfgqctx.html