XmlHttpRequest调用HttpHandler - 能够重定向吗?

时间:2011-06-30 09:25:34

标签: asp.net ajax xmlhttprequest httphandler

我有一个HttpHandler,它是使用XmlHttpRequest对象从JavaScript调用的。如果不满足某些条件,我希望HttpHandler重定向客户端。

我尝试过使用context.Response.Redirect(@“http://www.stackoverflow.com”),但这只是将http请求响应中的网页内容发送给客户端。

有没有办法从HttpHandler本身重定向客户端?或者,一旦客户端收到XmlHttpRequest响应,这是否必须发生?

由于

1 个答案:

答案 0 :(得分:1)

XmlHttpRequest对象将始终尊重来自服务器的重定向,并将从重定向页面为您提供html - 这符合W3C规范,无法控制(请参阅Prevent redirection of Xmlhttprequest)。

所以唯一的方法就是从HttpHandler返回一个响应(状态码为200 OK),表示需要重定向和url,在接收响应时,你可以使用java-script进行实际的重定向(如果需要的话) )。