react总结之axios(解决跨域)

  • Post author:
  • Post category:其他



文章目录





一、什么是跨域?

跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。浏览器从一个域名的网页去请求另一个域名的资源时,出现域名、端口、协议任一不同,都属于跨域。



二、解决跨域



1.第一种

在package.json里面添加一行代码即可(这个方法只能写一个域名)

proxy:“你请求服务器的域名”



2.第二种

在src文件下创建一个setupProxy.js文件,在里面填写以下代码即可(这个方法可以填写多个域名)这里注意

const { createProxyMiddleware } = require("http-proxy-middleware");

module.exports = function (app) {
  app.use(
    createProxyMiddleware(
      "/api", //遇见/api-elm前缀的请求,就会触发该代理配置
      {
        target: "服务器域名", //请求转发给谁(能返回数据的服务器地址)
        changeOrigin: true, //控制服务器收到的响应头中Host字段的值
        secure: false,
        // pathRewrite: {
        //   "^/api": "",
        // }, //重写请求路径,保证交给后台服务器是正常地请求地址(必须配置)
      }
    )
  );
};



总结

两种方法都是可以去进行解决跨域问题的,但他们有一点是要看你的域名是否是多个,如果是多个的话就要使用第二种方法了,如果只是一个的话就使用第一种方法即可



版权声明:本文为yjnain3066原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。