以前配置过vue vite 的代理转发,没想到在uniapp的代理转发下翻车了,其实是一个很小的问题。调试过程中,尝试了webpack、vite 等写法 在根目录下 创建了 vite.config.js vue.config.js 都不生效。

最后解决的方法是 Vue3 proxy 的规则,重写规则必须要放在跳转域名前,下面贴配置源码

请求端代码:

methods:{
getList(){
uni.request({
method:"POST",
header:{
"Content-Type":"application/x-www-form-urlencoded"
},
url:"/api.php/school/Slide/index",
data:{id:9},
success:(res) => {
console.log(res)
},
fail:(err) => {
console.log(err)
}
});
}
}

配置代理代码:

"devServer" : {
"proxy" : {
//配置代理服务器来解决跨域问题,uniapp不适用CORS方案和设置JSONP方案
"" : {
//重写规则,调试不写规则,就会默认进入映射域名,调试一定要先让它代理生效
"pathRewrite": {
"^" : ""
},
//映射域名
"target":"http://school.bjzjxf.com",
//是否跨域
"changeOrigin":true
}
},
"https" : false,
"port" : 3000
},

百度看大部分声明 vue2不存在这个问题。

接下来说下为什么会有跨域这个问题吧,很多人可能并不太理解。

首先前端 vue 是内置了node.js 映射了一个独立的运行环境,我本地的端口是3000,本地服务器默认IP是 127.0.0.1,调试页面的时候访问是 127.0.0.1:3000 这个域名。

那么跨域请求的API 接口,一般是放在云端服务器,例如:https://school.bjzjxf.com/api/api.php

触发跨域的条件是:

  1. 域名不同
  2. 端口不同
  3. 协议不同

对比就发现本地的域名和API的域名以上3点均不同,所以肯定会触发跨域(只要有一项不同都会触发跨域)

Referrer Policy:strict-origin-when-cross-origin  // 这个标识就是提示已经跨域请求了
然后为什么使用代理可以解决跨域问题,因为阻止跨域是浏览器的安全协议,防止API接口不合法调用的导致的安全问题。
使用代理就跳过了浏览器检测这块可以这么理解,相当于 静态的html Ajax请求第三方API也不会提示跨域,但是把这个html放到不同的服务器环境下去请求会提示跨域。
所以以下是别人说的话,然后理解我上面说的话。就会发现 只要有2个独立环境下,互相请求对方的接口都不合法,属于跨域。

uni-app 中 只有H5 会存在跨域, 小程序勾选不校验合法域名、web-view(业务域名)、TLS版来忽略跨域,APP不会存在跨域

uniapp vue3下的代理转发不生效问题,亲测有效解决的更多相关文章

  1. caffe学习一:ubuntu16.04下跑Faster R-CNN demo (基于caffe). (亲测有效,记录经历两天的吐血经历)

    兜兜转转,兜兜转转; 一次有一次,这次终于把Faster R-CNN 跑通了. 重要提示1:在开始跑Faster R-CNN之前一定要搞清楚用的是Python2 还是Python3. 不然你会无限次陷 ...

  2. Linux环境下MySQL 5.6安装与配置----亲测有效----纯离线安装

    一.安装MySQL 1.下载安装包 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 下载地址: https://dev.mysql.com/get/Downloa ...

  3. centos6.2下安装redis和phpredis扩展,亲测好用

    安装redis: 下载:http://www.redis.io/download redis-2.6.2.tar.gz ]# tar -zxf redis-2.6.2.tar.gz ]# cd red ...

  4. windows和linux下的本机IP的获取(亲测有效)

    package com.handsight.platform.fras.util; import org.apache.log4j.Logger; import javax.servlet.http. ...

  5. CentOS7下编译安装Python3.7.x【亲测有效】

    所有操作都在root用户下操作 下载安装包 编译安装 建立软链接 验证 安装: 更新yum: yum update 安装Python依赖: yum install openssl-devel bzip ...

  6. php文件更新后不生效?亲测有效!

    1,问题描述 一台windows Server2008 服务器上运行了iis7,其中存在php5.3和php5.5引擎的网页服务. 但实际使用中发现,修改php文件后,访问该文件的结果经常不能实时刷新 ...

  7. Windows10系统python环境下安装Dlib库(转载,蔡军帅亲测可用)

    Dlib是一个很优秀的机器学习库,最近做人脸识别要用到这个库,简要记录一下配置过程,准备工作: 1.python环境 2.安装好pip(这里有个简单的安装教程) 3.Dlib包,贴一个我安装的版本,链 ...

  8. windows下使用密钥登录Linux及xshell代理转发

    1.密钥登录原理 一般我们使用xshell访问远程主机(Linux主机)时,都是先请管理员给我们开一个账户,即为我们设置一个一个用户名和对应的密码,然后我们就可以使用下面的方式登录到远程主机了: 在这 ...

  9. 【转】Nginx反向代理转发tomcat

    http://blog.csdn.net/mlc1218559742/article/details/53117520 最近刚接触nginx,在网上查阅了相关资料,看到最多的形容nginx的词就是反向 ...

  10. linux命令行模式下实现代理上网

    有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方 ...

随机推荐

  1. 【前端必会】webpack 插件,前进路绕不过的障碍

    背景 webpack的使用中我们会遇到各种各样的插件.loader. webpack的功力主要体现在能理解各个插件.loader的数量上.理解的越多功力越深 开始 https://webpack.do ...

  2. NSIS安装界面无虚线框移动

    最近很多应用程序都在安装界面的美化上面下足了功夫,一个漂亮流畅的安装界面无疑会给其带来用户体验上的加分,其中一个无虚线框跟随鼠标移动比较有趣,狂翻msdn后终于找到了控制函数SystemParamet ...

  3. CodeCraft-21 and Codeforces Round #711 (Div. 2)

    就ac了俩 A题求gcd>1,WA了好多发....因为感觉没错,结果后面一看n的数据10^18,原来是没用long long. 经验:今后一定要看看数据范围. B题,一开始没看懂题意,不知道什么 ...

  4. 洛谷P1962 斐波那契数列 (矩阵快速幂)

    学了矩阵,练一下手... 1 #include<bits/stdc++.h> 2 typedef long long ll; 3 const ll mod=1e9+7; 4 using n ...

  5. LeNet-论文阅读

    概述 Yann LeCun, Leon Bottou, Yoshua Bengio, and Patrick Haffner的论文<Gradient-Based Learning Applied ...

  6. 7.RabbitMQ系列之topic主题交换器

    topic主题交换器它根据在队列绑定的路由键和路由模式通配符匹配将消息路由到队列. 生产者在消息头中添加路由键并将其发送到主题交换器. 收到消息后,exchange尝试将路由键与绑定到它的所有队列的绑 ...

  7. 小米MIUI禁止系统更新

    删除downloaded_rom的文件夹,随便找一个文件(文件,不是文件夹),重名为downloaded_rom(是把一个文件重命名),这样系统后台偷偷下载时,就不知道该存放更新包的文件,就无法偷偷更 ...

  8. C#--String.Substring方法

    第一种:String.SubString(int start,int length)    截取指定长度的字符串 这里有两个int型的参数  string表示字符串截取的起始位置,length表截取的 ...

  9. html和php里引用文件

    html里引入css文件: <link href="base.css" rel="stylesheet" type="text/css" ...

  10. Python基础之模块:4、正则表达式和re模块

    目录 一.正则表达式 1.正则表达式前戏 2.字符组 3.特殊符号 4.量词 5.贪婪匹配与非贪婪匹配 6.转义符 7.正则表达式实战 二.re模块 1.模块导入 2.常见操作方法 1.findall ...