uniapp vue3下的代理转发不生效问题,亲测有效解决
以前配置过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
触发跨域的条件是:
- 域名不同
- 端口不同
- 协议不同
对比就发现本地的域名和API的域名以上3点均不同,所以肯定会触发跨域(只要有一项不同都会触发跨域)
uni-app 中 只有H5 会存在跨域, 小程序勾选不校验合法域名、web-view(业务域名)、TLS版来忽略跨域,APP不会存在跨域
uniapp vue3下的代理转发不生效问题,亲测有效解决的更多相关文章
- caffe学习一:ubuntu16.04下跑Faster R-CNN demo (基于caffe). (亲测有效,记录经历两天的吐血经历)
兜兜转转,兜兜转转; 一次有一次,这次终于把Faster R-CNN 跑通了. 重要提示1:在开始跑Faster R-CNN之前一定要搞清楚用的是Python2 还是Python3. 不然你会无限次陷 ...
- Linux环境下MySQL 5.6安装与配置----亲测有效----纯离线安装
一.安装MySQL 1.下载安装包 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 下载地址: https://dev.mysql.com/get/Downloa ...
- 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 ...
- windows和linux下的本机IP的获取(亲测有效)
package com.handsight.platform.fras.util; import org.apache.log4j.Logger; import javax.servlet.http. ...
- CentOS7下编译安装Python3.7.x【亲测有效】
所有操作都在root用户下操作 下载安装包 编译安装 建立软链接 验证 安装: 更新yum: yum update 安装Python依赖: yum install openssl-devel bzip ...
- php文件更新后不生效?亲测有效!
1,问题描述 一台windows Server2008 服务器上运行了iis7,其中存在php5.3和php5.5引擎的网页服务. 但实际使用中发现,修改php文件后,访问该文件的结果经常不能实时刷新 ...
- Windows10系统python环境下安装Dlib库(转载,蔡军帅亲测可用)
Dlib是一个很优秀的机器学习库,最近做人脸识别要用到这个库,简要记录一下配置过程,准备工作: 1.python环境 2.安装好pip(这里有个简单的安装教程) 3.Dlib包,贴一个我安装的版本,链 ...
- windows下使用密钥登录Linux及xshell代理转发
1.密钥登录原理 一般我们使用xshell访问远程主机(Linux主机)时,都是先请管理员给我们开一个账户,即为我们设置一个一个用户名和对应的密码,然后我们就可以使用下面的方式登录到远程主机了: 在这 ...
- 【转】Nginx反向代理转发tomcat
http://blog.csdn.net/mlc1218559742/article/details/53117520 最近刚接触nginx,在网上查阅了相关资料,看到最多的形容nginx的词就是反向 ...
- linux命令行模式下实现代理上网
有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方 ...
随机推荐
- Redash中文版安装问题大全
Redash的安装比较复杂,由于系统环境组件版本不同,可能会出现这样那样的问题,我们把安装过程中常见问题记录如下: 1.git clone 经常提示:RPC失败,远端意外挂断.过早的文件结束符.ind ...
- flutter系列之:查询设备信息的利器:MediaQuery
目录 简介 MediaQuery详解 MediaQuery的属性 MediaQuery的构造函数 MediaQuery的使用 总结 简介 移动的开发中,大家可能最头疼的就是不同设备的规格了,现在设备这 ...
- Linux下多线程创建
1.pthread_create Linux中线程创建用pthread_create函数 #include <pthread.h> int pthread_create( pthread_ ...
- 关于csh-C-shell的记录
csh,由柏克莱大学的 Bill Joy 设计的,语法有点类似C语言,所以才得名为 C shell ,简称为 csh Bill Joy 是一个风云人物,他创立了 BSD 操作系统,开发了 vi 编辑器 ...
- C++面向对象编程之复合、委托和继承
1.复合,表示has a template <typename T> calss A{ protected: B<T> c; } 这里表示 A 里面有一个 B,A 可以调用 B ...
- Spring bean装配流程和三级缓存
马士兵 源码方法论 不要忽略源码中的注释 先梳理脉络,再深入细节 大胆猜测.小心求证 见名知意 hold on 对源码有兴趣的都是变态 为了钱! Spring IoC Spring容器帮助管理对象,不 ...
- mysql安装教程-window操作系统
1.下载安装包(官网下载) 直达链接:https://dev.mysql.com/downloads/mysql/ 下载后放到指定目录下解压即可(给电脑新手忠告:注意不要放在C盘,养成好习惯,放C盘多 ...
- 成功解决:snippet设置的开机自启没有效果
1.问题描述 勾选开机启动后.没有效果.每次开机都要我重新找到对应的安装目录.双击运行开启 2.解决方法 将snipaste的快捷方式放到开机启动目录下 C:\Users\Administrator\ ...
- v-for和router-link的共同使用
1. 错误例子 <div style="color: red" v-for="item in pressionList" :key="item. ...
- 算法设计(动态规划应用实验报告)实现基于贪婪技术思想的Prim算法、Dijkstra算法
一.名称 动态规划法应用 二.目的 1.贪婪技术的基本思想: 2.学会运用贪婪技术解决实际设计应用中碰到的问题. 三.要求 1.实现基于贪婪技术思想的Prim算法: 2.实现基于贪婪技术思想的Dijk ...