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

2025-05-07 09:56:27
推荐回答(4个)
回答1:

一个是请求转向,一个是浏览器转向.

如果你请求含有response.redirect的页面时,在服务器端已经给你转向了,服务器遇到该语句时直接转向目的页面.

而location.href一般是浏览器遇到该语句时,重新向另一个地址进行请求,可见,response.redirect只是一次请求,而客户端使用location转向时要两次向服务器进行请求.

因为服务器端是不存在window等浏览器窗口的,所以location绝对不会是服务端代码,只能在客户端输出.事实上,如果在客户端中,js语句中同样也存在redirect语句,这时两者的作用一样.但机理不同,redirect只是一个转向语句,遇到该语句时,直接转向,客户端是两次请求的.而location相当于你在地址栏中输入了地址后按回车!

如果对转向没有控制的话,两者在客户端是一样的.但response.redirect往往用于服务端,而location只能用在客户端!

回答2:

JavaScript: location.href="xxx"表示转向新页面,该转向是在前台进行,即就页面要先输出到前台,然后才转向新页面。

VBScript: response.redirect("xxx")也表示转向新页面。
如果语句写在ASP页面中,则在后台即转向到另一页面,最终输出到前台的是新页面。 如果写在之间则效果和Javascript中的location.href="xxx"一样,在前台进行页面转向。

回答3:

location.href客户端服务器交互2次,可以读到前一个页面里request里存的值
response.redirect客户端服务器交互4次,读不到前一个页面里request里存的值

回答4:

前者好像是VBScript的写法。
后者是javascript的写法。

都是跳转页面的。