我正在使用Global.asax的Application_BeingRequest()处理程序中的代码来执行一些非常原始的URL重写。这工作正常,但我在JavaScript中获取重写的URL时遇到问题。

因此,使用URL重写'www.mydomain.com/dothis'在服务器端变为'www.mydomain.com/?action=dothis'。使用ASP.Net和Request.QueryString [" action"],我得到'dothis'的预期结果。当然,JavaScript仍会看到“www.mydomain.com/dothis”,因为这是浏览器中显示的内容。

我认为JavaScript没有办法查看实际页面网址,即使它没有显示在地址栏中?

有帮助吗?

解决方案

如果您没有明确说明,UA无法看到http接口以外的服务器上发生的事情。

在服务器将请求转发给适当的处理程序之前,服务器上正在进行重写。

你可以通过多种方式告诉UA(问Tim Toady ^^)。隐藏的表单控件,一个JavaScript变量,仅举几例。如果你的框架/服务器支持这个,那就是这个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top