关于Ajax以及开发Ajaxt的基本步骤
2009-08-11 21:55
288 查看
一、Ajax的相关知识点:
1.如何创建XMLHttpRequest对象?
注:这与浏览器的版本有关,window.ActiveXObject 若返回对象,则条件为true,否则为false
a. if (window.ActiveXObject) --> xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
b. if (window.XMLHttpRequest) --> xmlhttp = new XMLHttpRequest();
2.XMLHttpRequest对象的相关方法和属性
方法:
a. abort(); --> 停止当前请求
b. getAllResponseHeaders() --> 把Http的所有请求响应首部作为键/值对返回;
b. getResponseHeader(header) --> 返回指定首部的串值;
c. open(method,url,boolean,username,password)--> 建立对服务器的调用,method表示请求方法,
url 表示请求资源(jsp,html,serlvet,xml,txt),boolean表示是否同步(若为true,则异步执行,若为false,则为同步(即上
一步未完成,则下一步不会执行,在默认情况下为异步的),username和password表示用户名和密码
注:后三个参数为可选参数。
d. setRequestHeader("header","value");设置首部的值,该方调用必须在open()之后;
e. send(context);向服务器发送请求;若为POST请求,则context为请求参数,若为GET请求则context为空!
属性:
a. onreadystatechange 这是一个事件,每改变一个状态都会触发该事件;
b. readyState 表示状态 有5个可取值:0=未初始化,1=正在加载,2=已加载,3=交互中,4=完成
c. responseText 来自服务器的文本响应;
d. responseXML 返回一个DOM对象;
e. status 服务器的Http状态码(200对应(OK),404对应Not Found(未找到),等等);
f. statusText 表示状态码对应文本;
二、用Ajax开发Web程序的一般步骤:
1.客户端
a. 实例化一个全局的XMLHttpRequest对象
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
b. 为xmlhttp的onreadystatechange事件绑定一个函数
xmlhttp.onreadystatechange = function(){};
c. 建立对服务器的调用
xmlhttp.open(method,url);
d. 禁用客户端缓存
xmlhttp.setRequestHeader("Cache-Control","no-cache");
e. 正式发送请求
xmlhttp.send();
补充:若请求为POST,则需要设置Content-Type首部
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
2.服务器端
a.设置编码方式(并非一定);
request.setCharacterEncoding("encoding");
response.setCharacterEncoding("encoding");
b.设置客户端响应输出方式(取决于responseText 和 responseXML)
response.setContentType("text/xml;character=utf-8");
或response.setContentType("text/html;character=utf-8");
c.禁用缓存
response.setHeader("pragma", "no-cache");
response.setHeader("cache-control", "no-cache");
response.setDateHeader("expires",0);
1.如何创建XMLHttpRequest对象?
注:这与浏览器的版本有关,window.ActiveXObject 若返回对象,则条件为true,否则为false
a. if (window.ActiveXObject) --> xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
b. if (window.XMLHttpRequest) --> xmlhttp = new XMLHttpRequest();
2.XMLHttpRequest对象的相关方法和属性
方法:
a. abort(); --> 停止当前请求
b. getAllResponseHeaders() --> 把Http的所有请求响应首部作为键/值对返回;
b. getResponseHeader(header) --> 返回指定首部的串值;
c. open(method,url,boolean,username,password)--> 建立对服务器的调用,method表示请求方法,
url 表示请求资源(jsp,html,serlvet,xml,txt),boolean表示是否同步(若为true,则异步执行,若为false,则为同步(即上
一步未完成,则下一步不会执行,在默认情况下为异步的),username和password表示用户名和密码
注:后三个参数为可选参数。
d. setRequestHeader("header","value");设置首部的值,该方调用必须在open()之后;
e. send(context);向服务器发送请求;若为POST请求,则context为请求参数,若为GET请求则context为空!
属性:
a. onreadystatechange 这是一个事件,每改变一个状态都会触发该事件;
b. readyState 表示状态 有5个可取值:0=未初始化,1=正在加载,2=已加载,3=交互中,4=完成
c. responseText 来自服务器的文本响应;
d. responseXML 返回一个DOM对象;
e. status 服务器的Http状态码(200对应(OK),404对应Not Found(未找到),等等);
f. statusText 表示状态码对应文本;
二、用Ajax开发Web程序的一般步骤:
1.客户端
a. 实例化一个全局的XMLHttpRequest对象
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
b. 为xmlhttp的onreadystatechange事件绑定一个函数
xmlhttp.onreadystatechange = function(){};
c. 建立对服务器的调用
xmlhttp.open(method,url);
d. 禁用客户端缓存
xmlhttp.setRequestHeader("Cache-Control","no-cache");
e. 正式发送请求
xmlhttp.send();
补充:若请求为POST,则需要设置Content-Type首部
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
2.服务器端
a.设置编码方式(并非一定);
request.setCharacterEncoding("encoding");
response.setCharacterEncoding("encoding");
b.设置客户端响应输出方式(取决于responseText 和 responseXML)
response.setContentType("text/xml;character=utf-8");
或response.setContentType("text/html;character=utf-8");
c.禁用缓存
response.setHeader("pragma", "no-cache");
response.setHeader("cache-control", "no-cache");
response.setDateHeader("expires",0);
相关文章推荐
- 关于Ajax以及开发Ajaxt的基本步骤
- 【日常】关于Eclipse开发基于cxf的web services的基本步骤
- 开源的DWR,帮助开发AJAX, 以及关于开源框架的看法
- 使用ARM开发详细步骤/关于QT/E安装,编译,以及执行
- Ajax基本开发步骤
- WINDBG调试内核以及驱动的基本步骤和要点(包括双机调试,虚拟机调试,virtualbox加速调试)
- ASP.NET MVC关于Ajax以及Jquery的无限级联动
- 微信开发-关于分享朋友&朋友圈以及录音功能
- 关于Symbian开发中的乱码,屏蔽IAP选择框以及签名问题
- iOS开发笔记--关于设置UIView的背景为图片的方法以及问题
- 关于怎么解决从ajax传入的json参数注入到Controller的接收对象 以及如何在Spring Boot项目使用参数校验
- 【10.06】关于SPA,以及Backbone.js基本用法学习摘要
- 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
- 关于Windiws XP 中安装IIS 5.0的步骤以及遇到问题的解决方案
- J2EE项目系列(四)--SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis)(3)Ajax使用详解(级联列表)以及企业级报表Excel导入导出实现
- 8_14 日学到的新知识(简单的工厂模式的实现, MVC 模式的基本概念,软件工程中的四种开发模型, 以及软件工程中的一些小知识点)
- JNI及Android JNI 开发基本知识和具体操作步骤
- 软件项目需求开发基本步骤
- (0015)iOS 开发之Mac上安装MySQL服务与创建数据库的基本步骤
- Android开发中关于如何解决Fragment中弹出键盘会把底部菜单栏顶上去的问题以及返回键的监听问题