当用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.Status`的不同状态码及其含义是非常重要的,这有助于我们更好地控制请求流程,处理可能出现的各种情况。本文将详细介绍`XMLHttpRequest.Status`中各个状态码的具体含义及其应用...
- `redirect`:重定向处理,如"follow"、"error"、"manual"。 在获取数据后,Fetch提供了多种方法来处理响应。例如,`response.json()`用于将响应体转化为JSON对象,`response.text()`则返回字符串形式的数据。如果...
5. **页面跳转与重定向**:ASP中的Response对象可以用于页面跳转,例如,在用户成功提交留言后,可能使用Response.Redirect方法将用户导向一个确认页面。 6. **错误处理与调试**:源码中可能包含错误处理代码,如On...
* redirect:如何处理重定向模式 * integrity:包含请求的子资源的完整性值 * cache:包含请求的缓存模式 Request 对象的方法包括: * clone():创建当前 request 的副本 Promise Promise 是 Fetch API 的一个...
9. **网页状态管理**:学习如何处理网页间的跳转,使用Server.Transfer和Response.Redirect方法,以及理解状态管理中的Postback机制。 10. **网页设计与布局**:结合HTML和CSS进行网页设计,了解布局技术如表格、...
9. **AJAX异步通信**:为了提升用户体验,系统可能会利用JavaScript和XMLHttpRequest对象实现页面的局部刷新,无需每次交互都完全加载整个页面。 10. **版本控制**:“v2.0”表示这是系统的第二个版本,可能意味着...
2. **Action类和结果类型**:如何定义Action类,如何配置Action的映射,以及各种Result类型(如dispatcher、stream、redirect等)的使用场景。 3. **拦截器的原理和应用**:解释了拦截器的工作原理,以及如何自定义...
- 如果验证成功,处理`redirectto`参数,根据指定的URL进行重定向。 - 如果验证失败,返回一个错误信息,前端JavaScript将捕获这个响应并显示给用户。 在代理`login_ok`中,我们看到`Initialize`子程序用于打印响应...
Forword和Redirect都是Servlet中的请求处理方式,但它们有不同的特点: * Forword:请求转发,服务器将请求转发给其他Servlet或JSP,浏览器的URL不变化 * Redirect:重定向,服务器将请求重定向给其他URL,浏览器的...
$this->redirect('your/redirect/url'); } ``` 这样,无论请求是AJAX还是普通HTTP,都可以得到正确的响应。请确保在你的代码中正确处理这种情况,以避免出现不期望的行为。 总的来说,ThinkPHP的`success`方法不...
虽然ASP本身不支持AJAX,但可以通过JavaScript库如jQuery或原生XMLHttpRequest对象实现异步更新,提高用户体验,如实时显示投票结果。 10. CSS和JavaScript: 为了美化界面和增强交互性,通常会结合CSS...
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('...
步骤包括创建XMLHttpRequest对象、打开连接、发送请求、接收响应。 7. jQuery的常用选择器:如$(),$("#id"),$(".class")等,简化DOM操作。 8. jQuery的文档处理方法:如$(document).ready()用于文档加载完成后执行...
此外,登录通常涉及到与服务器的通信,这可以通过Ajax实现,如使用XMLHttpRequest或更现代的fetch API。例如,你可以向服务器发送POST请求,将用户名和密码作为数据: ```javascript fetch('/api/login', { method...
例如,`Response.Write`用于输出文本到网页,`Response.Redirect`则可以重定向用户到另一个页面。 3. **请求对象Request**: 用于获取来自客户端的信息,如表单数据、URL参数等。`Request.Form`用于获取POST方式提交...
2. **页面跳转与URL重写**:ASP可以使用Response.Redirect方法实现页面间的跳转。此外,为了优化SEO,可能还采用了URL重写技术,使得动态URL看起来像静态页面。 3. **会话管理**:ASP提供了Session对象,用于存储...
Mithril.js的核心特性包括虚拟DOM、声明式路由和内置的XMLHttpRequest(XHR)工具,使得在构建复杂的前端应用时,可以更加便捷和高效。 1. **虚拟DOM**:Mithril.js引入了虚拟DOM的概念,允许开发者描述用户界面的...
例如,`Response.Write`可以用来输出文本到浏览器,`Response.Redirect`则用于重定向用户到另一个页面。 2. Request对象:这个对象用于获取客户端的请求信息,如表单数据、查询字符串参数、HTTP头信息等。例如,`...
1. **XMLHttpRequest对象**:Ajax的核心,用于异步发送和接收数据。 2. **JavaScript**:处理Ajax请求,包括创建请求对象、发送请求、处理响应数据。 3. **JSON**:比XML更轻量的数据交换格式,常用于Ajax通信。 4. ...
小程序通过`wx.navigateTo`或`wx.redirectTo`等API可以实现页面间的跳转,而将目标页面设置为H5网页,则可以利用这些API将用户引导到外部网站进行操作。在跳转过程中,可以传递参数,如文件的URL或ID,以便H5页面...