我有一个HttpHandler,它是使用XmlHttpRequest对象从JavaScript调用的。如果不满足某些条件,我希望HttpHandler重定向客户端。
我尝试过使用context.Response.Redirect(@“http://www.stackoverflow.com”),但这只是将http请求响应中的网页内容发送给客户端。
有没有办法从HttpHandler本身重定向客户端?或者,一旦客户端收到XmlHttpRequest响应,这是否必须发生?
由于
答案 0 :(得分:1)
XmlHttpRequest对象将始终尊重来自服务器的重定向,并将从重定向页面为您提供html - 这符合W3C规范,无法控制(请参阅Prevent redirection of Xmlhttprequest)。
所以唯一的方法就是从HttpHandler返回一个响应(状态码为200 OK),表示需要重定向和url,在接收响应时,你可以使用java-script进行实际的重定向(如果需要的话) )。