Vue如何解决跨域?原理是什么?

1.cors跨域(配置服务器) :

原理:它允许浏览器向跨源服务器,发出XMLHttpRequest请求

2.jsonp跨域:

原理:动态生成script标签,通过src引入接口地址(因为src不存在跨域的)

3.代理服务器:

原理:先请求本地服务器,本地服务器再去请求真正的后台服务器,最后本地服务器再将请求回来的数据返回给浏览器

vue3需要新建vue.config.js 【默认情况下,3以上的版本可以直接识别这个js文件,把它当做自己的配置文件】

步骤如下:

1、在项目框架的根目录下新建文件:vue.config.js

2、重启项目,这样的话新建的文件就可以被识别了,一定要重启

3、给新建的文件内添加解决跨域的代码部分

module.exports = {
    devServer: {
      proxy: {
        '/api': {
          target: 'https://域名/api',// API服务器的地址
          ws: true,  //代理websockets
          changeOrigin: true, // 虚拟的站点需要更管origin
          pathRewrite: {   //重写路径 比如'/api/aaa/ccc'重写为'/aaa/ccc'
             '^/api': ''
          }
        }
      }
    }
  }

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