request - 在 Yii2 中从 $request 获取主题标签
问题描述
我需要从 GET 请求中获取主题标签,如下所示:
/v1/search/search#tag?query=word
或者/v1/search/search?query=word#tag
我尝试获取查询字符串:
Yii::$app->request->getQueryString()
但在第一种情况下,它完全忽略查询参数,而在第二种情况下,它找到查询参数,但忽略主题标签。有什么方法可以从请求中获取主题标签吗?
解决方案
您无法(直接)在服务器上获取 URI 片段值(标签)。
这不是Yii
限制,url 的锚点#
部分是在客户端使用的,它不会发送到服务器。
片段取决于文档 MIME 类型并由客户端(Web 浏览器)评估。
客户端在检索文档时不应该向服务器发送 URI 片段,并且如果没有本地应用程序的帮助(见下文),片段不会参与 HTTP 重定向。
您可以通过查看网络流量、服务器日志、Yii
调试器日志或浏览器控制台自行检查,例如,如果您尝试浏览https://example.com/user/123#1234
服务器,则只会得到https://example.com/user/123
.
您可以在发送请求之前绕过此限制,将值转换为参数。
// you could update
https://example.com/user/123#1234
// to
https://example.com/user/123?tag=1234
推荐阅读
- r - 单色条形图
- c# - 如何计算一个datagridview中每一列的非空行并在第二个datagridview中显示行数?
- xquery - 将大 xml 值转换为双类型 json?
- java - 有没有办法让捆绑/分组的 Android 通知在点击时展开,而不是在应用程序中启动活动?
- c++ - 使用带有按钮的 qt 表
- react-native - React native redux 能够读取值但无法在同一页面中更新值
- node.js - 无法使用无服务器框架在 AWS Lambda 中部署 Node.js 应用程序
- java - TreeMap 放置了 100 个元素(每个元素 1MB),而堆只有 80 MB 内存,这种情况下的行为?
- c++ - 如何修复 Cling 和 LLVM Cmake 包含的即时段错误?
- php - 如何使rest api在react js中显示数据