我有一个继承并必须支持的 Qt 应用程序。有一段代码可以生成如下所示的 URL:
http://foo.bar.com:8000/#/workitem/71327434512586907410/report
然后页面加载setUrl
在 Mac 上这工作正常,但在 Windows 上没有加载页面,我什至看不到请求到达服务器。我找到了这个:
https://bugreports.qt.io/browse/QTWEBKIT-56
在它工作的 Mac 上,我在服务器获取的请求中看不到 # 。但是如果我删除代码中的 #,我会得到 404。
所以我的问题是这样的:
- # 在这种情况下是什么意思?
- 为什么需要识别此 URL?
- 为什么它可以在 Mac 上运行而不是在 Windows 上运行?是链接中的那个错误吗?
webserver是nginx,框架是falcon。
我对此有更多信息。
当 URL 包含我在 nginx 日志中看到的 # 时:
POST /workitem/67876029556368716590/report
请求已成功处理。
但是当 URL 没有 # 我在日志中看到这个:
GET /workitem/67876029556368716590
这将返回 404。
另一个更新:
我发现 # 是 Angular JS 路由的东西:
所以现在我唯一的问题是,是否有一个 Qt 错误阻止它在 Windows 中工作。