ajax : Asynchronous JavaScript and XML 异步JavaScript和XML,用javascript异步形式去操作xml,用于数据交互。

一、具体过程:

1.创建一个ajax对象
ie6以下new ActiveXObject('Microsoft.XMLHTTP')

var xhr = null;
/*if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}*/
try {
xhr = new XMLHttpRequest();
} catch (e) {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}

2.

open方法
参数
  (1).打开方式
  (2).地址
  (3).是否异步
    异步:非阻塞 前面的代码不会影响后面代码的执行
    同步:阻塞 前面的代码会影响后面代码的执行

xhr.open('get','1.txt',true);

3.提交发送请求

xhr.send();

4.等待服务器返回内容

/*
readyState : ajax工作状态
responseText : ajax请求返回的内容就被存放到这个属性下面
on readystate change : 当readyState改变的时候触发
status : 服务器状态,http状态码
*/
xhr.onreadystatechange = function() {

if ( xhr.readyState == 4 ) {
if ( xhr.status == 200 ) {
alert( xhr.responseText );
} else {
alert('出错了,Err:' + xhr.status);
}
}

}

二、get和post的区别

1.get的缓存问题

  解决办法: 在url?后面连接一个随机数,时间戳    "username=deep&"+ new Date().getTime()

2、编码问题  编码encodeURI

  '2.get.php?username='+encodeURI('小章')+'&age=30&' + new Date().getTime()

3、post要设置请求头

  xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');

  xhr.send(data);

四、返回数据的处理

js中有个JSON对象(IE7及以下不支持,可以下载js的插件包),JSON对象有stringify和parse两个方法。

stringify:把一个对象转换成字符串。

parse:吧字符串转换成对应的对象。

posted on 2015-03-18 17:09  toodeep  阅读(162)  评论(0)    收藏  举报