AngularJS -在Application_BeginRequest中获取服务器端的url
本文关键字:获取 服务器端 url BeginRequest Application AngularJS | 更新日期: 2023-09-27 18:11:53
我正在构建一个angularJs应用程序,需要application_beginrequest,我需要在浏览器中获取当前url。
。Localhost:60607/#/login:需要获取/loginLocalhost:60607/#/activity: need to get/activity
当用户点击刷新或当页面再次加载并进入beginrequest时,它应该有相同的响应。
我尝试使用context.Request.Path,但它只给出"/"。
书签不是由浏览器发送给服务器的,书签是用来在页面内导航的。你必须使用javascript获取书签并使用不同的参数发送它以在服务器端获取书签值
"#"符号之后的数据应该仅用于客户端(通常浏览器会去掉这些部分,应用服务器通常会忽略它们)。
如果你的意图是为用户提供使用Angular刷新页面的能力,你可以:
- 提供同构行为(加载页面服务器端),但如果你使用的是Angular JS版本1。x并不像你想象的那么简单 提供双路由行为(*):
- 避免使用"#"符号作为url,为用户提供简单的url,如
/login
或/activity
- 使用angular管理你的路由客户端,就像你应该做的那样
- 管理您的路由服务器端,并在请求时提供正确的视图
- 你可以尝试集中化的视图管理提供他们使用一个控制器而不是静态内容
使用第二种方法可能更简单,但是您会发现:
- 保持视图状态是可能的,只有简单的视图(事情变得非常复杂,我们引入多个UI元素状态)
- 管理双路由,你必须在客户端/服务器之间找到一个妥协