前端解决跨域的方法

什么事跨域?
跨域就是:当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域,跨域一般会报错
跨域有两种解决方法
方法一: Access-Control-Allow-Origin
这个是在服务器代码里面写的,内容大致为是否允许跨域,那些东西允许跨域

let express = require('express');
let app = express();
app.all("*", function(req, res, next){
    // “Origin ”跨域 
    // “*” 所有
    res.header("Access-Control-Allow-Origin", "*");  //一般这一句就基本解决所有跨域问题了,下面的可以不用写
    res.header("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS, PUT");
    res.header("Access-Control-Allow-Headers","Content-Type, Content-Length, Authorization, Acccpt, X-Requested-With");
    next();
})

方法二: proxy代理
机制:
伪造一个地址替换掉现在的本机地址,使 url的协议、域名、端口与后台返回的url的协议相同。
在config下面的配置文件 index.js 中找到这个导出文件

module.exports = {
     dev: {}
 }

在dev:{}中添加如下代码

dev: {
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    // proxy代理 解决跨域  http://192.168.97.224:3000/#/api  所有请求的地址
    proxyTable: {
      '/api': {   
        //  /api只是一个名字 可以 任意命名
        target: 'http://192.168.97.224:3000/',   //  target为本机IP地址
        // 是否跨域
        changeOrigin: true,
        pathRewrite: {
          "^/api": ''  //
        }
      }
    }

方法三: jsop

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值