`

response.redirect 与javascript 的 location.href 的区别

    博客分类:
  • jsp
 
阅读更多
response.redirect是请求转向,location.href 是浏览器转向.
 1、Response.Redirect():
Response.Redirect方法导致浏览器链接到一个指定的URL。
当Response.Redirect()方法被调用时,它会创建一个应答,
应答头中指出了状态代码302(表示目标已经改变)以及新的目标URL。
浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求。
这就是说,使用Response.Redirect方法时重定向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):
第一次是对原始页面的请求,得到一个302应答,
第二次是请求302应答中声明的新页面,得到重定向之后的页面。
  
如果你请求含有response.redirect的页面时,在服务器端已经给你转向了,服务器遇到该语句时直接转向目的页面.
 而location.href一般是浏览器遇到该语句时,重新向另一个地址进行请求,可见,response.redirect只是一次请求,而客户端使用location转向时要两次向服务器进行请求.
 因为服务器端是不存在window等浏览器窗口的,所以location绝对不会是服务端代码,只能在客户端输出.
事实上,如果在客户端中,js语句中同样也存在redirect语句,这时两者的作用一样.
但机理不同,redirect只是一个转向语句,遇到该语句时,直接转向,客户端是两次请求的.
而location相当于你在地址栏中输入了地址后按回车! 如果对转向没有控制的话,两者在客户端是一样的.
但response.redirect往往用于服务端,而location只能用在客户端!
分享到:
评论

相关推荐

    window.location.href页面跳转的用法(区别于redirect)

    本文将详细介绍如何使用`window.location.href`进行页面跳转,并探讨它与`Response.Redirect`的区别。 #### 使用场景 假设在一个ASP.NET项目中,当用户完成某个操作(例如注册账号),我们希望在显示一个提示信息...

    C#中Response.Write常见问题汇总

    为了解决这个问题,可以将`Response.Write`的内容包装在JavaScript的`alert`或`window.location.href`中,如下所示: ```csharp string a = "当前的记录变量"; Response.Write("<script language='javascript'>...

    ASP.NET页面刷新方法总结.docx

    Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); ``` 这种方法通常用于与客户端交互较多的场景,例如用户点击按钮后刷新当前页面。 3. **Response.AddHeader(...

    EDP​​:Response.Redirect(“ Hell.aspx”,false);

    例如,你可以使用JavaScript的`window.location.href`来实现客户端的重定向。 4. **性能和用户体验**:使用`Response.Redirect()`时,应考虑其对性能和用户体验的影响。连续的重定向可能导致延迟,而不必要的重定向...

    ASP.NET打开新窗口方法

    strScript += "location.href='index.html';"; strScript += "</script>"; bool b = ((Page)System.Web.HttpContext.Current.Handler).IsStartupScriptRegistered("PopUp"); if (!b) { ((Page)System.Web....

    .net页面刷新方法

    Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 这段代码会在页面加载时执行JavaScript,使得浏览器跳转到当前页面的URL。 3. **Response.AddHeader(...

    ASP.NET页面刷新方法总结.pdf

    例如,在`Button2_Click`事件中,`Response.Write`一段JavaScript代码,设置`window.location.href`为当前页面URL,这同样实现了页面刷新。 3. **Response.AddHeader("Refresh", "0")**: 添加HTTP响应头"Refresh...

    asp.net 常用页面刷新

    Response.Write("<script language='javascript'>window.location.href=document.URL;</script>"); } ``` 这段代码中,当用户点击`Button2`时,会触发JavaScript代码的执行。这里使用`Response.Write()`方法输出一...

    ASP.NET页面刷新方法总结

    Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 或者使用更简洁的写法: ```csharp protected void Button3_Click(object sender, EventArgs e) { ...

    ASPNET刷新页面的六种方法

    Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 这种方法同样会导致页面的完全重新加载,但在某些情况下可能更灵活,例如结合JavaScript进行条件判断或处理。...

    刷新aspx页面的六种方法 .doc

    Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 方法三:使用Response.AddHeader() 在第三种方法中,我们使用Response.AddHeader()方法来刷新页面。这个...

    页面自动刷新有关各种的技术

    - JavaScript 也支持定时刷新,例如`setTimeout`结合`location.href`: ```javascript setTimeout("location.href='url'", 2000); ``` 或者直接使用`self.location.reload()`: 5. **页面跳转与关闭**: - `...

    ASP.net中页面刷新

    Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 这段代码会在页面加载时执行JavaScript,改变当前窗口的URL,实现页面刷新。 3. **设置HTTP响应头...

    ,net6种刷新方式

    这里通过 `Response.Write` 方法输出一段JavaScript代码,该代码的作用是设置 `window.location.href` 属性为当前页面的URL,从而实现页面的刷新。 ### 3. 使用 `Response.AddHeader` 设置 `Refresh` 头进行刷新 ...

    一个空间绑定多个域名实现自动跳转的几种方法知识.pdf

    location.href="blog/index.php"; } ``` 这段代码会检查当前页面URL是否包含“域名1”,如果是,则跳转到“blog/index.php”。 2. **VBScript响应重定向**: 使用VBScript和ASP内置的`Response.Redirect`...

    C#跳转网页7种方法

    `Response.Write("<script language='javascript'>window.location='Default2.aspx'</script>");` 通过改变window.location,会替换当前页面,打开新页面。浏览器地址栏会更新为新页面的URL。 6. **JavaScript的...

    [removed].href的用法(动态输出跳转)

    需要注意的是,`self.location.href` 和 `location.href` 实际上与 `window.location.href` 是等价的,因为 `self` 和 `window` 都代表当前的全局对象,所以在大多数情况下它们都可以互换使用。 除了简单的页面跳转...

    asp.net下利用js实现返回上一页的实现方法小集.docx

    <a href="#" onclick="javascript:history.back();">返回前一页 ``` 这里采用 `-2` 的值是因为在 ASP.NET 页面中,点击按钮后通常会触发页面回发 (postback),这会导致页面刷新两次。因此,使用 `-2` 可确保返回至...

Global site tag (gtag.js) - Google Analytics