首页 > 其他分享 >uniapp踩坑:编译H5解决浏览器跨域问题

uniapp踩坑:编译H5解决浏览器跨域问题

时间:2024-04-16 15:38:05浏览次数:24  
标签:uniapp www 浏览器 跨域 H5 api https com

uniapp编译到app是不存在跨域问题的,但是编译到H5就会有跨域问题。记录一下工作中遇到跨域及解决跨域方法

方法一: 直接编译Hbuilder内置浏览器,能解决跨域,但是内置浏览器调试没有谷歌爽

方法二: 在manifest.json文件中配置跨域,该方法类似vue.config.js中的devServer

 

  • 步骤一

"h5" : {
    "devServer" : {
        "disableHostCheck" : true, // 开启可以用自己的域名
        "proxy": {
          "/api": {
            "target": "https://www.test.com",
            "changeOrigin" : true,
            "secure" : false,
            "pathRewrite": { //匹配请求路径里面有 /api 会替换成https://www.test.com
            // 举例:/api/api/user => https://www.test.com/api/user
              "^/api": ""
            }
          }
        }
    }
}
  • 步骤二 很重要,很多人配置了步骤一没效果,因为步骤二没配置好

    就是接口请求的时候,域名要改为/api,不能是正式域名,因为pathReweite已经帮你转了
    举个栗子
    baseUrl = process.env.NODE_ENV === 'development' ? '/api' : 'https://www.test.com'
    然后uni.request请求的url应该是这样:baseUrl + '/user/info'
    
    然后浏览器看到的请求地址应该是
    http://localhost:8080/user/info

     

方法三 :直接在项目根目录创建一个vue.config.js文件,配置跟方法二一样

 

标签:uniapp,www,浏览器,跨域,H5,api,https,com
From: https://www.cnblogs.com/caihongmin/p/18138248

相关文章

  • Chrome跨域问题:查看图片报错has been blocked by CORS policy: The request client is
    Chrome跨域问题:hasbeenblockedbyCORSpolicy:Therequestclientisnotasecurecontextandtheresourceisinmore-privateaddressspaceprivate已被CORS策略阻止:请求客户端不是安全上下文,资源位于更私有的地址空间私有问题原因:公网资源(访问者)访问私网资源......
  • uniapp优缺点
    UniApp是一个使用Vue.js开发跨平台应用的开发框架。它允许开发者使用同一套代码基础来构建面向iOS、Android、以及各种小程序、H5等多个平台的应用。优点:一次编写,多端运行:只需编写一次代码,便可以生成可以运行在不同平台(iOS、Android、H5、小程序等)的应用。学习成本低......
  • uniapp小程序页面实现元素与胶囊进行居中对齐
    无论是否为uni,关键在于获取胶囊中点的位置,如果是原生小程序根据小程序文档获取,其余逻辑处理是一致的代码语法都只是技术选择,重点是逻辑处理,对于技术的运用,代码技术好比是积木,好的程序就是好的组合代码,利用技术的特点进行组合,1.效果实现代码fixedTop(){lets......
  • 跨域攻击分析和防御(中)
    利用域信任密钥获取目标域权限 搭建符合条件域环境,域林内信任环境搭建情况如下,如图7-8所示。父域域控:dc.test.com(WindowsServer2008R2)子域域控:subdc.test.com(WindowsServer2012R2)子域内计算机:pc.sub.test.com(Windows7)子域内普通用户:sub\test 图7-8 ......
  • iframe跨域,获取iframe中元素
    1.需求让iframe嵌入页面,并且没有滚动条,也就是相当于两个页面拼接在一起跨域解决,通过框架配置代理proxy:{'/medical':{target:'https://example.com',changeOrigin:true,pathRewrite:{'^/medical':'',},},}......
  • 构建动态交互式H5导航栏:滑动高亮、吸顶和锚点导航技巧详解
    功能描述产品要求在h5页面实现集锚点、吸顶及滑动高亮为一体的功能,如下图展示的一样。当页面滑动时,内容区域对应的选项卡高亮。当点击选项卡时,内容区域自动滑动到选项卡正下方。布局设计css布局为了更清晰的描述各功能实现的方式,将页面布局进行了如下的拆分。★最外层的元......
  • Java登陆第四十二天——跨域
    浏览器拥有最基本的安全机制,同源策略。 违背同源策略的交互,会被浏览器认为是不安全的交互,所以不解析。什么是域?(源) 协议,域名,端口。什么是跨域? 访问不同的域。 即便协议,域名相同,端口号不一样也会违背同源策略。前后端分离后,前端服务器负责视图,后端服务器负责数据。 不......
  • thinkphp+vue跨域报错解决方案
     使用vue的axios.post向后台服务器的发送数据时报错:CORSpolicy:Responsetopreflightrequestdoesn'tpassaccesscontrolcheck:No'Access-Control-Allow-Origin'headerispresentontherequestedresource. 解决办法在public/index.php文件中添加以下代码://......
  • uniapp实现虚拟列表(元素固定高度)
    一、应用场景当接口返回数据太多时,前端可使用虚拟列表,实现长列表。二、原理只有在屏幕部分元素被显示出来,并且被更新,始终只有固定数量的节点,不会卡顿。三、效果图四、思路步骤使用Object.freeze冻结对象,极大优化性能生成多个元素的options,或者动态获取根据onPag......
  • uniapp做微信小程序遇到的一些问题汇总
    1.当我写完代码想手机预览的时候,小程序的启用组件按需注入显示未通过 加一句搞定//启用组件按需注入问题  "lazyCodeLoading":"requiredComponents", 2.微信开发者工具-右上角-详情-基本信息-代码依赖分析-可以看哪些文件比较大(如static下不超过200K,一般情况图片都......