//核心:XMLHttpRequest对象 用于在后台与服务器交换数据
var xmlhttp;
//需做兼容处理
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")//IE5/IE6兼容
}
//规定请求的类型(GET或POST),接口地址,是否异步处理(true异步,false同步)
xmlhttp.open("GET","data/list.xml",true);
//将请求发送到服务器
xmlhttp.send();
//当xmlhttp的状态发生改变触发
xmlhttp.onreadystatechange=function(){
//如果存储xmlhttp状态readyState是4代表请求已完成,服务器状态码为200代表服务器响应正常
if (xmlhttp.readyState==4&&xmlhttp.status==200) {
//responseText响应类型是字符串类型;responseXML响应类型是XML类型
/* console.log(xmlhttp.responseText);
var dd = JSON.parse(xmlhttp.responseText);
console.log(dd); */
console.log(xmlhttp.responseXML);
}
}
/***********GET or POST**********
* POST向服务器发送大量数据
* GET方式提交的数据最多只能是1024字节POST无限制
* POST暗文GET明文
* POST发送未知字符时POST更稳定
* POST无法被缓存GET可以缓存(用户名密码)
* POST相对更安全
* GET数据类型只能是ASCII字符POST无限制
* 后退刷新的时候POST会重复提交
* */
/***********XMLHttpRequest状态readystate******************
* 0请求未初始化
* 1服务器连接已建立
* 2请求已接收
* 3请求处理中
* 4请求已完成,且响应准备就绪
* */
/************服务器常用状态码**************
* 1XX信息性状态码(Informational)服务器正在处理请求
* 2XX成功状态码(Success)请求已正常处理完毕
* 3XX重定向状态码(Redirection)需要进行额外操作以完成请求
* 4XX客户端错误状态码(Client Error)客户端原因导致服务器无法处理请求
* 5XX服务器错误状态码(Server Error)服务器原因导致处理请求出错
* ****************************
* 200 OK 请求正常处理完毕
* 204 No Content 请求成功处理,没有实体的主体返回
* 206 Partial Content GET范围请求已成功处理
* 301 Moved Permanently 永久重定向,资源已永久分配新URI
* 302 Found 临时重定向,资源已临时分配新URI
* 303 See Other 临时重定向,期望使用GET定向获取
* 304 Not Modified 发送的附带条件请求未满足
* 307 Temporary Redirect 临时重定向,POST不会变成GET
* 400 Bad Request 请求报文语法错误或参数错误
* 401 Unauthorized 需要通过HTTP认证,或认证失败
* 403 Forbidden 请求资源被拒绝
* 404 Not Found 无法找到请求资源(服务器无理由拒绝)
* 500 Internal Server Error 服务器故障或Web应用故障
* 503 Service Unavailable 服务器超负载或停机维护
*
*/