vue解决跨域问题

栏目: 编程语言 · 发布时间: 6年前

内容简介:开发模式要知道,跨域这个行为是浏览器禁止的,但是服务端并不禁止。使用proxyTable的原理就是将域名发送给本地的服务器,再由本地的服务器去请求真正的服务器。打开config/index.js,修改dev里的proxyTable

开发模式

要知道,跨域这个行为是浏览器禁止的,但是服务端并不禁止。使用proxyTable的原理就是将域名发送给本地的服务器,再由本地的服务器去请求真正的服务器。

打开config/index.js,修改dev里的proxyTable

proxyTable:{
    '/': {
            target: 'http://www.xxx.cn/api', //你要访问的服务器域名
            changeOrigin: true, //允许跨域
            pathRewrite: {
                '^/': ''
            }
        }
}

当你在别的页面请求时只要是/,你只需要/xx/xxx 它就会帮你处理成 http://www.xxx.cn/xx/xxx

假如项目需要请求两个不同的域名,proxytable在上面的基础上再增加,当请求时/json/xx/xxx开头的最后都会转换成 http://www.aaa.cn/xx/xxx

'/json': {
            target: 'http://www.aaa.cn/', //你要访问的服务器域名
            changeOrigin: true, //允许跨域
            pathRewrite: {
                '^/json': ''
            }
        }

但实际上接口是没有json的,这只是你用来区分请求的一个别名,这时pathRewrite就可以将/json去掉

生产环境

找到config/pro.env.js

module.exports = {
  NODE_ENV: '"production"',
  API_ROOT: '"http://www.xxx.cn/"'
}

在config目录下新建api.js文件

const root = process.env.API_ROOT; //在开发模式下为会调用代理
export const getList = root + '/list'

这样配置后你可以直接在组件写请求的url不需再判断处于哪个模式下,都可以跨域请求。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Filter Bubble

The Filter Bubble

Eli Pariser / Penguin Press / 2011-5-12 / GBP 16.45

In December 2009, Google began customizing its search results for each user. Instead of giving you the most broadly popular result, Google now tries to predict what you are most likely to click on. Ac......一起来看看 《The Filter Bubble》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具