ajax原理
ajax全称Asynchronous JavaScript and Xml ,异步传输。
异步传输是面向字符的传输,它的单位是字符;而同步传输是面向比特的传输,它的单位是帧,它传输的时候要求接受方和发送发的始终保持一致的。
异步传输是将比特分成小组来进行传输。一般每个小组的一个8位字符,在每个小组的头部和尾部都有一个开始位和一个结束位,它的传输过程中接收方和发送方时钟不要求一致。异步传输存在的一个问题:即接收方不知道数据什么时候能到达。
因为每次异步传输的信息都以一个其实为开头,它通知接收方数据已到,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位表示该次传输信息的终止。
同步传输的比特分组要大得多。它不是独立地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送。我们将这些组合称为数据帧,或简称为帧。
ajax原理和xmlhttprequest对象
ajax原理是通过xmlhttprequest对象来向服务器发送请求,从服务器端获得数据,然后用JavaScript来操作DOM更新页面对象。其中关键一步就是从服务器获得请求数据。
xmlhttprequest是ajax核心机制,
xmlhttprequest对象的属性:
onreadstatechange 每次状态改变所触发事件的事件处理程序
responseText 从服务器返回的数据的字符串形式
responseXML 从数据库返回的DOM兼容的文档数据对象
statue 从服务器返回的代码,代表状态(200 就绪 404未找到)
readstate 对象状态值
0 未初始化--对象已经建立,但是尚未初始化(尚未调用open方法)
1初始化 ---- 对象建立,但是尚未调用send方法
2数据发送---send方法以调用,但是当前的状态和http头未知
3 数据传输中--接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误。
4 (完成)-- 数据接收完毕,此时可以通过通过responseXml和responseText获取完整的回应数据
相关文档:
xmlHttp形式的Ajax:XmlHttp形式的Ajax IBM技术文档库
以下是利用隐藏iframe实现的ajax:
index.htm
<html>
<head>
</head>
<body>
<iframe id="testFrame" frameborder="0" style="width:0px; height:0px;">
</ifra ......
load(url[,data][,callback])------------->通常用来从WEB服务器上获取静态的数据文件
url: string类型 请求HTML页面的URL地址
data(可选): object 发送至服务器的key/value数据
callback(可选):function 请求完成时回调函数
例子:
主页面代码:
<style type="text/css">
* { margin:0; padding ......
刚调试程序的时候报错后然后找的解决方法,现在发出来大家借鉴。
-----------------------
错误提示:
运行时错误 800a01b6
对象不支持此属性或方法: Response.CharSet
---------------------------------------------------------------------
(百度一下,还有很多人遇到同样的错误)
Micros ......
var Ajax = new Object;
Ajax.Sysch = function(url) {
var req;
var result = "";
//document .write ("hello")
if (window.XMLHttpRequest) {
//代码段1
// 非IE浏览器
req = new XMLHttpRequest();
//alert(req);
//req.setReque ......