1、 XMLHttpRequest:纵所周知,ajax的异步交互主要是通过xmlhttprequest对象来实现的,最初的时候只有IE才支持它,不错技术发展到今天,大部门浏览器都对它进行的支持,也给程序和客户的体验带来了多方面的改善。当然不同浏览器创建XMLHttpRequest对象是有些不同的。
2、 XMLHttpRequest不是W3C的标准,IE是通过ActiveX实例化它,其它大部门浏览器是通过实例化本地的一个JS对象来创建它,从而在创建XMLHttpRequest的时候,需要根据浏览器的不同,生成相应的对象
3、 创建XMLHttpRequest对象,创建的时候不要因为不同浏览器的支持是不一样而感到困惑,其实主要是判断看当前浏览器是否对ActiveX对象的支持,如果是就代表是IE浏览器,如果不是就是其它浏览器,相应的用JS进行创建,代码如下:
//创建一个专门生成XMLHttpRequest对象的JS函数
Function createXMLHttpRequest() {
Var xmlhttp;
If(window.ActiveXObject) {//如果支持ActiveX说明是IE浏览器
Xmlhttp = new ActiveXObject(“Microsoft XMLHTTP”);
} else if(window.XMLHttpRequest) {
Xmlhttp = new XMLHttpRequest(); //其实浏览器的话,通过JS创建
}
//都不是的话就为空了
Return xmlhttp;
}
4、 XMLHttpRequest常见方法
Abort():停止请求,大家都知道XMLHTTPREQUEST对象可以发送请亲,调用它可以终止当前发送的请求。
getAllResponseHeaders():把相应的HTTP相应信息,作为键值对返回,我们知道,HTTP协议的头部都是对应变量有对应的信息的
open(“method”,”url”);准备对服务器进行调用;method是调用的方式,有post、get等方式,url是请求的路径,该方法还有一些可选的参数可以执行设置
send(content):发送请求,content为发送的内容
setRequestHeader(“key”,”value”):设置请求的信息
5、 方法解析
Open:open方法有两个固定参数method,url是必须的,还有一个boolean参数,代表是异步还是同步发送请求,一般默认是true:代表异步,因为大部门的时候基本上使用XMLHttpRequest都是用来进行异步的请求调用,还有username,password两个参数,对请求设定一个账号和密码
getResponseHeader(“header”):获取响应信息的特步名称的内容
通过XMLHttpRequest的一些方法,可以很灵活的发送各种请求,对请求发送回来的相应头信息也能方便的进行查看
6、 XMLHttpRequest对象的属性
Onreadystatechange:在发送请求的时候,HTTP的请求状态会发生变化,每个变化都会调用一个回调函数,而这个属性就是专门制定使用哪个函数为回调函数,回调函数大部门时间是用来处理返回来的结果和数据
Readystate:就是请求的状态变化,有五种状态,它的值分别是0,1,2,3,4,也就是说属性onreadstatechange注册的回调函数在正常返回的情况下,应该是被调用五次了。
ResponseText:把服务器的响应信息作为一个字符串进行处理
ResponseXML:把服务器的响应信息作为XML处理,可以被解析为一个DOM对象
Status:HTTP的状态,200代表找到了请求的页面,404代表没有找到
statusText:HTTP响应状态的文本,如200对应OK,404就是not found等
7、 JAVASCRIPT的编码和解码函数,是JS的全局存在的函数
escape(string):对STRING进行编码
Unescape(string):对string进行解码
这样在请求中也可以很好的避免中文乱码等问题
8、 在响应的请求中,应当设置如下属性
response.setContentType("text/html");//XMLHttpRequest只对text/xml类型响应处理
response.setHeader(“cache-control”,”no-cache”);
response.setHeader(“Pragma”,”no-cache”) //设置不缓存
9、 XMLHttpRequest的GET和POST
在实际当中,大部门都是发送GET请求,因为一部的调用都一般不会有很多的请求内容,在一定要使用Post的时候,和GET的请求是有区别的POST需要设置头部以下信息
Xmlhttp.setRequestHeader(“Content-Type”,”application/x-www-form-urlencode”);因为post下如果上传文件,那就不能向get方式那样的请求信息。用Post方法发送请求同时需要制定
Xml.send(content)的内容,而get的方式一般Url直接包含了内容了,get方法把请求参数都放在url中,post方式都是把请求参数放入在send(content)当中发送。
10、 一个XMLHttpRequest的例子,就来请求以下大家经常使用到的web.xml文件吧
拷贝一份web.xml到webroot下面
建立index2.jsp如下:在tomcat下部门即可
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<script type="text/javascript">
function getWEBXML() {
var xmlhttp = createXML();
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4) {//readystate 为4即数据传输结束
if(xmlhttp.status == 200){
alert(xmlhttp.responseText);
}
}
}
xmlhttp.open("GET", "web.xml", true);
xmlhttp.send(null);
}
function createXML() {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlhttp;
}
</script>
</head>
<body>
<input type="button" id="id" onclick="getWEBXML()" />
</body>
</html>
分享到:
相关推荐
ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础...
精通Ajax——基础概念、核心技术与典型案例 人民邮电出版社 本书主要介绍Ajax技术的组成元素,涉及JavaScript、CSS、DOM、XMLHTTP和XML等内容,其中详细介绍了JavaScript客户端语言,它是Ajax技术的核心组成,是...
ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax 基础教程ajax ...
ajaxjichu,ajax基础1
这个压缩包提供的内容涵盖了Ajax的基础理论、关键技术和实例应用,对于想要精通Ajax的初学者来说是一份宝贵的资源。通过阅读文档和实践案例,可以深入理解Ajax的工作原理,并掌握如何在实际项目中运用Ajax提升用户...
"Ajax在线聊天室"就是一个典型的应用场景,它允许用户实时发送和接收消息,而无需等待页面刷新。这种实时交互性是通过Ajax技术实现的,它通过JavaScript向服务器发送异步请求,获取新的聊天内容,并在页面的特定区域...
**Ajax(Asynchronous JavaScript and XML)基础** Ajax 是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术的核心是JavaScript,...
**Ajax基础入门简介** Ajax(Asynchronous JavaScript and XML)是一种用于创建快速、动态网页的技术,它使得网页可以在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。这一技术的出现极大地提升...
原书名:Foundations of Ajax 原出版社: Apress 作者: (美)Ryan Asleson,Nathaniel T.Schutta 译者: 金灵 等 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:7115144818 上架时间:2006-2-14 ...
Ajax中文基础教程Ajax中文基础教程Ajax中文基础教程Ajax中文基础教程Ajax中文基础教程Ajax中文基础教程Ajax中文基础教程
Ajax.基础教程。包含Ajax的基本知识,是Ajax初学者必备的教材。
**AJAX基础详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)是一种核心技术,它使得网页能够实现异步数据交换,无需刷新整个页面即可更新部分内容。本教程将深入探讨AJAX的基础知识,帮助你理解其...
本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的Ajax开发工具、使用JsUnit测试JavaScript、分析JavaScript调试工具和技术,以及Ajax开发模式和...
Ajax中文基础教程2Ajax中文基础教程2Ajax中文基础教程2Ajax中文基础教程2Ajax中文基础教程2Ajax中文基础教程2
### AJAX基础教程知识点总结 #### 一、AJAX概述 - **定义**:Asynchronous JavaScript and XML(异步JavaScript和XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 - **目的**:提高Web应用的...
**第一章 - Ajax基础** 在这一章中,你将学习到Ajax的基本概念,包括异步通信的重要性、XMLHttpRequest对象的使用以及如何创建简单的Ajax请求。了解如何通过JavaScript与服务器进行交互,实现页面内容的动态加载,...
学习ajax基础知识,让自己的前端技术更上一层,学会与后台交互
《Ajax基础教程.chm》 Ajax技术可以提供高度交互的Web应用,给予用户更丰富的页面浏览体验。本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的...
### 第一章:Ajax基础 Ajax的核心技术包括XMLHttpRequest对象、JavaScript、DOM(Document Object Model)以及CSS。XMLHttpRequest是Ajax的基础,用于在后台与服务器进行通信。JavaScript处理用户的交互和动态更新...
对于Ajax有一个误解:能够实现这么酷的功能,JavaScript代码肯定是很难实现和维护...注意,Ajax是一 种JavaScript工具,因此当尝试理解Ajax类型的应用程序时,对JavaScript基础知识的掌握就尤为 重要.让我们从基础知识开始.