当前位置: 首页 > news >正文

workerman下的webman路由浏览器跨域的一种问题

软件版本

"php": ">=7.2",
"workerman/webman-framework": "^1.5.0",

问题情景

  • 使用“分组路由”做API接口
  • 前后端分离跨域,在接口测试工具调试是能正常获取数据的;但在网页浏览器上调试就遇到了CORS、404的错误(No ‘Access-Control-Allow-Origin’ header is present on the requested resource);

服务器的错误的路由代码如下:

Route::group('/w', function () {Route::post('/v/list', [myapp\app\a\Wa::class, 'getList'])->name('w.list');
})->middleware([// 中间键就用官方文档里的“跨域部分的代码” // https://www.workerman.net/doc/webman/middleware.html \app\middleware\AccessControlTest::class,
]);

API测试工具访问接口完全正确,……但浏览器无法访问。困惑我一天,一直以为问题在中间件的配置上出了问题,找之前运行成功项目的中间件代码、中间件配置,完全一样但还是访问不了~~

解决

找了诸多资料之后,发现可能路由的写法不正确;正确运行的代码如下:

Route::group('/w', function () {Route::any('/v/list', [myapp\app\a\Wa::class, 'getList'])->name('w.list');
})->middleware([// 中间键就用官方文档里的“跨域部分的代码” // https://www.workerman.net/doc/webman/middleware.html \app\middleware\AccessControlTest::class,
]);//找到不同了吗?// 无法访问的路由
Route::post('/v/list', [myapp\app\a\Wa::class, 'getList'])->name('w.list');
//正确访问的路由
Route::any('/v/list', [myapp\app\a\Wa::class, 'getList'])->name('w.list');

我猜:
Route::post()不支持浏览器的“预检”
Route::any()支持浏览器的“预检”

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Docker详解
  • sh脚本发送邮件到多个收件人如何高效实现?
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • 前端面试题整理-Javascript
  • 凤凰端子音频矩阵应用领域
  • 【问题解决】git status中文文件名乱码
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • WordPress原创插件:Download-block-plugin下载按钮图标美化
  • 力扣面试经典算法150题:罗马数字转整数
  • 【JavaEE初阶】线程池
  • [LitCTF 2024]exx
  • 「MyBatis」实现留言板
  • LVS服务的搭建之NAT模式、DR模式的搭建实战
  • 情绪电商的数字化营销方法适用行业大揭秘
  • Linux的安装和使用
  • 10个最佳ES6特性 ES7与ES8的特性
  • Apache Zeppelin在Apache Trafodion上的可视化
  • CODING 缺陷管理功能正式开始公测
  • docker容器内的网络抓包
  • interface和setter,getter
  • iOS编译提示和导航提示
  • Java 内存分配及垃圾回收机制初探
  • Javascript编码规范
  • Java编程基础24——递归练习
  • Java反射-动态类加载和重新加载
  • java中的hashCode
  • js正则,这点儿就够用了
  • Laravel Mix运行时关于es2015报错解决方案
  • PaddlePaddle-GitHub的正确打开姿势
  • PHP的Ev教程三(Periodic watcher)
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • select2 取值 遍历 设置默认值
  • SwizzleMethod 黑魔法
  • 成为一名优秀的Developer的书单
  • 搭建gitbook 和 访问权限认证
  • 分享几个不错的工具
  • 京东美团研发面经
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 浅谈web中前端模板引擎的使用
  • 王永庆:技术创新改变教育未来
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (c语言)strcpy函数用法
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (层次遍历)104. 二叉树的最大深度
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET Core Web APi类库如何内嵌运行?