• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 带你搞懂uniapp跨域问题(实例详解)

带你搞懂uniapp跨域问题(实例详解)

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了uniapp跨域问题等相关知识,希望对您有所帮助

本篇文章给大家带来了关于uniapp跨域的相关知识,其中介绍了为什么会有跨域问题,这是浏览器的一种安全保护机制,一起来看一下相关的问题吧,希望对大家有帮助。


带你搞懂uniapp跨域问题(实例详解)


为什么会有跨域问题?

由于浏览器的同源策略导致的,是浏览器的一种安全保护机制。
浏览器从一个域名的网页去请求另一个域名的资源时,协议、域名、端口 任一不同,都是跨域

解决uniapp的跨域问题有很多方式,下面总结一下常用的几种方式

1. 使用 jsonp,可在我们封装的网络通讯中添加

dataType:'jsonp'

总结:

但是此种方式仅支持 get 请求,post好像用不了。


2. 在uniapp根目录下的 manifest.json 添加

"h5": {    "devServer": {        "proxy": {            "/8888": {                "target": "https://www.baidu.com/api",                "changeOrigin": true,                "pathRewrite": {                    "^/8888": "/"                }            },            "/8800": {                "target": "https://www.taobao.com/api",                "changeOrigin": true,                "pathRewrite": {                    "^/8800": ""                }            }        }    }},

总结:

此种方式虽然没有其它方式灵活,但是 是最适用于uniapp的,毕竟是官方提供的配置文件。

具体参照:https://uniapp.dcloud.io/collocation/manifest?id=h5


3. uniapp根目录下新建文件 vue.config.js ,然后在里面添加

module.exports = {  devServer: {    proxy: {      '/dev': {        target: 'https://www.baidu.com/api',        changeOrigin: true,        pathRewrite: {          '^/dev': ''        }      }    },  }}

总结:

此种配置方式,可能会没用,因为 vue.config.js 是 vue3 才有的, vue2 配置 vue.config.js 是无效的。可以在 manifest.json 文件内通过 vueVersion 字段来查看 vue 版本。如下图:


带你搞懂uniapp跨域问题(实例详解)


具体参照:https://cli.vuejs.org/zh/config/#devserver-proxy

如果是 vue2 配置跨域,可参照 :https://blog.csdn.net/weixin_45679977/article/details/103004678


4. 解除Google浏览器的跨域限制

TASKKILL /F /IM chrome.exe
start chrome.exe --args --disable-web-security --user-data-dir
pause

总结:

记得重启浏览器

具体参照:https://blog.csdn.net/MisTTT/article/details/75976123


5. 其它方式

(1). 直接运行在 hbuilderx 的内置浏览器内,uniapp官方在内置浏览器内做过跨域处理

(2). 下载Google浏览器一个可支持跨域的拓展程序:https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

具体可参照:https://ask.dcloud.net.cn/article/35267


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2022-04-29正则表达式解决input框固定输入值的格式(金额,特殊字符)
  • 2022-04-29Photoshop制作精致的黑光水晶导航按钮
  • 2022-04-29PHP中mysql和mysqli的区别是什么
  • 2022-04-29聊聊node中怎么借助第三方开源库实现网站爬取功能
  • 2022-04-29phpsotrm设置内存限制后打不开了怎么办?
  • 2022-04-29PS制作非常逼真的针织吊牌
  • 2022-04-29帝国CMS安装时You have an error in your SQL syntax报错
  • 2022-04-29聊聊怎么在小程序中实现一个可截断的瀑布流组件
  • 2022-04-29ThinkPHP5把动态链接库赋给变量而导致的执行多条sql数据合并问题
  • 2022-04-29总结分享: 6 种JavaScript的打断点的方式(收藏学习)

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 如何安装和使用BootstrapVue,构建项目界面
    • 使用bootstrap怎么实现分页
    • AI制作数字通道效果
    • PHP读取Excel图片对象,并保存替换为相对路径
    • DEDECMS给list标签加上多字段排序功能
    • YII如何将对象转化为数组或直接输出为json格式
    • jQuery sibling是什么意思
    • javascript如何解决url中文乱码问题
    • 实现在dedecms模板中调用wordpress的文章方法
    • 你知道Laravel Collection的实际使用场景什么吗?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有