`
wangcheng
  • 浏览: 1466710 次
  • 性别: Icon_minigender_1
  • 来自: 青岛人在北京
社区版块
存档分类
最新评论

XMLHttpRequest 如何处理 redirect (转)

    博客分类:
  • ajax
阅读更多
当用XMLHttpRequest (或者其它ajax框架) 请求一个url (例如index.do), 而这个请求被redirect到另一个url (例如home.do)

例如Struts Action中return new ActionForward("home.do", true);
服务器返回

HTTP/1.1 302 Found
Date: Thu, 01 Dec 2005 02:00:24 GMT
Server: Apache/1.3.33 (Unix) PHP/4.4.0 mod_ssl/2.8.24 OpenSSL/0.9.7e
X-Powered-By: PHP/4.4.0
Location: home.do

这种情况下,XMLHttpRequest是如何处理的?

XmlHTTPRequest的行为将依赖用户浏览器。一般来说XmlHTTPRequest不能得到这个消息头,也不能得到http 302的状态码,而是直接继续访问跳转页面Location: testpost.php,如果访问成功,直接返回http状态码200,并读取得到此页面的文本输出。
  • IE : 没有相关配置,只会进行上述行为。
  • Opera : 有“是否允许自动重定向”设置。如果用户不允许自动重定向则xmlHTTPRequest能接收到302信息,xmlHttpRequest不会继续跳转。
  • Firefox : 有一个选项network.http.redirection-limit(20),这个选项是用户所允许的重定向次数。如果设置成0,那么很遗憾,XmlHTTPRequest接收不到任何信息。

原文地址
http://dulao5.blog.hexun.com/2491050_d.html
分享到:
评论

相关推荐

    XMLHttpRequest

    而在这一过程中,了解`XMLHttpRequest.Status`的不同状态码及其含义是非常重要的,这有助于我们更好地控制请求流程,处理可能出现的各种情况。本文将详细介绍`XMLHttpRequest.Status`中各个状态码的具体含义及其应用...

    浅谈Fetch 数据交互方式

    - `redirect`:重定向处理,如"follow"、"error"、"manual"。 在获取数据后,Fetch提供了多种方法来处理响应。例如,`response.json()`用于将响应体转化为JSON对象,`response.text()`则返回字符串形式的数据。如果...

    ASP源码—Fate 风铃ASP留言本 v1.1.zip

    5. **页面跳转与重定向**:ASP中的Response对象可以用于页面跳转,例如,在用户成功提交留言后,可能使用Response.Redirect方法将用户导向一个确认页面。 6. **错误处理与调试**:源码中可能包含错误处理代码,如On...

    Fetch+Promise教程

    * redirect:如何处理重定向模式 * integrity:包含请求的子资源的完整性值 * cache:包含请求的缓存模式 Request 对象的方法包括: * clone():创建当前 request 的副本 Promise Promise 是 Fetch API 的一个...

    asp网络编程从入门到精通

    9. **网页状态管理**:学习如何处理网页间的跳转,使用Server.Transfer和Response.Redirect方法,以及理解状态管理中的Postback机制。 10. **网页设计与布局**:结合HTML和CSS进行网页设计,了解布局技术如表格、...

    ASP源码—毕业论文选题系统 v2.0.zip

    9. **AJAX异步通信**:为了提升用户体验,系统可能会利用JavaScript和XMLHttpRequest对象实现页面的局部刷新,无需每次交互都完全加载整个页面。 10. **版本控制**:“v2.0”表示这是系统的第二个版本,可能意味着...

    Struts 2及AJAX框架的详细介绍

    2. **Action类和结果类型**:如何定义Action类,如何配置Action的映射,以及各种Result类型(如dispatcher、stream、redirect等)的使用场景。 3. **拦截器的原理和应用**:解释了拦截器的工作原理,以及如何自定义...

    lotus domino AJAX 做登陆功能

    - 如果验证成功,处理`redirectto`参数,根据指定的URL进行重定向。 - 如果验证失败,返回一个错误信息,前端JavaScript将捕获这个响应并显示给用户。 在代理`login_ok`中,我们看到`Initialize`子程序用于打印响应...

    于笑扬java综合知识点总结-必背(吐血推荐).doc

    Forword和Redirect都是Servlet中的请求处理方式,但它们有不同的特点: * Forword:请求转发,服务器将请求转发给其他Servlet或JSP,浏览器的URL不变化 * Redirect:重定向,服务器将请求重定向给其他URL,浏览器的...

    ThinkPHP的success并不跳转页面,而是直接输出json字符串的原因.zip解决ThinkPHP的success并不跳转页面,而是直接输出json字符

    $this->redirect('your/redirect/url'); } ``` 这样,无论请求是AJAX还是普通HTTP,都可以得到正确的响应。请确保在你的代码中正确处理这种情况,以避免出现不期望的行为。 总的来说,ThinkPHP的`success`方法不...

    ASP调查源码

    虽然ASP本身不支持AJAX,但可以通过JavaScript库如jQuery或原生XMLHttpRequest对象实现异步更新,提高用户体验,如实时显示投票结果。 10. CSS和JavaScript: 为了美化界面和增强交互性,通常会结合CSS...

    python教程之ajax入门

    from django.shortcuts import render, redirect from django.http import JsonResponse from .models import User def register(request): if request.method == 'POST': username = request.POST.get('...

    笔试题(JavaEE).doc

    步骤包括创建XMLHttpRequest对象、打开连接、发送请求、接收响应。 7. jQuery的常用选择器:如$(),$("#id"),$(".class")等,简化DOM操作。 8. jQuery的文档处理方法:如$(document).ready()用于文档加载完成后执行...

    login登录界面

    此外,登录通常涉及到与服务器的通信,这可以通过Ajax实现,如使用XMLHttpRequest或更现代的fetch API。例如,你可以向服务器发送POST请求,将用户名和密码作为数据: ```javascript fetch('/api/login', { method...

    ASP技巧100例

    例如,`Response.Write`用于输出文本到网页,`Response.Redirect`则可以重定向用户到另一个页面。 3. **请求对象Request**: 用于获取来自客户端的信息,如表单数据、URL参数等。`Request.Form`用于获取POST方式提交...

    ASP网站实例开发源码——复活小说站(源码+数据库).zip

    2. **页面跳转与URL重写**:ASP可以使用Response.Redirect方法实现页面间的跳转。此外,为了优化SEO,可能还采用了URL重写技术,使得动态URL看起来像静态页面。 3. **会话管理**:ASP提供了Session对象,用于存储...

    mithriljs用于构建单页应用程序的现代客户端Javascript框架

    Mithril.js的核心特性包括虚拟DOM、声明式路由和内置的XMLHttpRequest(XHR)工具,使得在构建复杂的前端应用时,可以更加便捷和高效。 1. **虚拟DOM**:Mithril.js引入了虚拟DOM的概念,允许开发者描述用户界面的...

    asp函数集函数资料

    例如,`Response.Write`可以用来输出文本到浏览器,`Response.Redirect`则用于重定向用户到另一个页面。 2. Request对象:这个对象用于获取客户端的请求信息,如表单数据、查询字符串参数、HTTP头信息等。例如,`...

    java面试题库(j2ee,j2se,ssh,ajax)

    1. **XMLHttpRequest对象**:Ajax的核心,用于异步发送和接收数据。 2. **JavaScript**:处理Ajax请求,包括创建请求对象、发送请求、处理响应数据。 3. **JSON**:比XML更轻量的数据交换格式,常用于Ajax通信。 4. ...

    小程序跳转到h5进行文件上传包

    小程序通过`wx.navigateTo`或`wx.redirectTo`等API可以实现页面间的跳转,而将目标页面设置为H5网页,则可以利用这些API将用户引导到外部网站进行操作。在跳转过程中,可以传递参数,如文件的URL或ID,以便H5页面...

Global site tag (gtag.js) - Google Analytics