如何解决跨越

解决跨域我想在坐的各位都会听说过几个解决跨域的方法:
1.有什么 cors后端配置(加几个请求头

2.jsonp(利用script的src属性)

3.还有vue-cli前端配置。



跨域其实就是违背了浏览器的一种策略,这种策略就是同源策略(Same origin policy)

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。

所以我们引出浏览器的同源策略,就是指必须在同一个协议,域名,端口号下,而且三者必须一致的。这个时候,我们就说是同源。

为什么会产生跨域?
也就是 为了网络安全起见,浏览器设置了一个同源策略,规定只有域名,端口,协议全部相同,就叫做同源。当页面在执行一个脚本时,会检查访问的资源是否同源,如果不是,就会报错。可是在实际开发中,经常会有跨域加载资源的需求,避免不了跨域请求,所以就出现了跨域。

如何解决跨域(重点)

在工作中一般找后端同学解决一下,如果后端不写的话可以用以下方法
用vue-cli(脚手架)创建的项目,新建vue配置文件 vue.config.js(名字固定)

在此配置文件中解决跨域


module.exports = {
  devServer: {
    // ... 省略
    // 代理配置
    proxy: {
        // 如果请求地址以/api打头,就出触发代理机制
        // http://localhost:9588/api/login -> http://线上的地址/api/login
        '/api': {
          target: 'http://线上的地址' // 我们要代理的真实接口地址
        }
      }
    }
  }

图解

如何解决跨越_第1张图片
 

 

你可能感兴趣的:(Vue,vue.js,前端)