|||
XMLHttp提供了一套客户端同服务器端通讯的协议。
属性:
1、 readyState():返回XMLHttp请求的当前状态。
0:XMLHttp对象已创建,但尚未创建请求;
1:XMLHttp对象已创建,请求已创建,但尚未发送请求;
2:请求已发送,但尚未接收到响应;
3:已接收到响应,但尚未完全接收到所有的数据;
4:数据接收完毕。
2、 onreadystatechange()
XMLHTTP请求(说明请求已经创建,即readyState从1状态开始变化)状态readyState发生改变时触发的事件处理句柄。
3、 创建XMLHTTP请求时,采用同步请求和异步请求方式的区别:
同步请求方式(false):客户端发送请求后,只有当从服务器端反馈回来的数据全部接收完毕后,用户才能够执行其它的操作。(这段时间,浏览器处于一种假死的状态)
异步请求方式(true):客户端向服务器端发送一次请求后,虽然未能完全执行,但用户仍然可以执行其它的操作。
4、 XMLHttp.responseText:将服务器端返回的数据以文本形式展示出来(字符串)。
XMLHttp.responseXML:将从服务器端返回的数据格式化为XML Document对象。
服务器端脚本必须为UTF-8,否则会出现乱码。
含有中文显示,XML可以设置字符集GBK
5、 status:返回当前请求的http状态码
200 OK;
500 服务器出现错误
403 禁止访问
404 文件未找到
400 非法URL
6、GET请求和POST请求
GET是一种常见的请求方式,最常见于向服务器查询某些信息。在URL中,“名值对”之间用“&”分割,名和值需要采用encodeURIComponent()的编码方式,否则易发生URL格式问题。下面提供一个通用的向URL追加“名值对”参数的函数。
function addURLParam(URL, name, value) {
URL += (URL.indexOf(“?”) == -1 ? “?” : “&”);
URL += encodeURIComponent(name) + “=” + encodeURIComponent(value);
return URL;
}
POST请求常常用于向服务器发送被保存的数据。在这里一定要注意,服务器端不会直接处理从客户端发送过来的原始数据,必须事先通过程序读取并解析从客户端发送过来的有用数据。Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-6-2 19:36
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社