点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在尝试使用 Javascript URL API 来获取URL的搜索参数,但是由于路由器自动生成到URL中的"#",因此无法正确读取。 在URL中设置哈希之前,有什么方法可以删除它或对其进行编码?
例如,它会自动设置主(主)URL
http://localhost/#
模式为""的空
manifest.json(路由清单中的数据)
"路由":{ " config":{ " routerClass":" sap.m.routing.Router", " viewType":" XML", " viewPath":" mainhub.ui.view", " controlId":" mainCont", " controlAggregation":"内容", " transition":" slide", "异步":是的, " clearTarget":是, "绕过":{ " target":" notFound" } }, "路线":[{ " pattern":"", " name":" Homeview", " target":" home" }, { " pattern":" publi/{?search}", " name":" Publ", " target":" publ" } ], "目标":{ "家":{ " viewId":"家", " viewName":"首页", " viewLevel":1 }, "发布":{ " viewId":" publ", " viewName":"公共", " viewLevel":2 }, "未找到": { " viewId":" notFound", " viewName":" dialogs.NotFound", " transition":"显示" } } }
controller.js(进行导航的位置)
... onDetailViewPress:function(){ var publId = 0; var参数= { " parameterName1":" parameterValue1", "?search":{" publId":publId} }; this.getRouter()。navTo(" Publ",parameters); },
导航到此页面后,URL为:
http://localhost/#/publ/?publId = 0
非常感谢您提供的指导!
" pattern":" publi/{?search}",在manifest.json中,URL:publ/?publId = 0似乎不同。 publi或publ
还可以解释您的要求吗? 您想要什么以及当前正在发生什么?
问候,
Sharath
导航是基于哈希的,因此您不需要工作 修理。 网址应具有哈希值。 现在,您不需要任何其他库即可获取搜索参数。 检查以下代码链接。
https://sapui5.hana.ondemand.com/#/entity/sap.ui.core.routing.Router/sample/sap.ui.core.sample。 RoutingMasterDetail/code/routingApp%2Fcontroller%2FDetail1.controller.js
您好,是否有任何理由不依赖路由匹配事件以获取URL参数(或是必填参数)? 路由器框架的存在主要是为了帮助您完成诸如此类的任务。
您将无法删除应用程序URL哈希,因为它是路由器实现的一部分。 没什么会阻止您在调用URL构造函数之前操纵URL字符串的(根本不需要重写浏览器URL),例如
但是,再次,您应该使用什么路由器 可以获取路由参数。
都谢谢。
我最终使用了" getParameters"来获取搜索参数,如路由教程中所述 。
嗨。
对,是" pattern":" publ/{?search}"。 我打错了。
请求是从网址中删除"#"。
我正在尝试这样做:
如果我使用hashtagless(#)URL执行以上代码,则可以完成预期的工作。 但是我无法在UI5的路由文档中找到如何隐藏或替换它。
示例:
新URL(" http://localhost/#/publ/?publId = 0")返回:
新URL(" http://localhost/publ/?publId = 0")返回:
一周热门 更多>