注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

左岸

web前端

 
 
 

日志

 
 

Ajax  

2012-06-25 10:15:53|  分类: js |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1、组成部分:js,css,dom,XMLHttpRequest。
2、创建异步对象:

                            var xmlHttp;

                             function createXMLHttpRequest(){

                                 if(window.ActiveXObject)                                             //如果是ie浏览器

                                     xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

                                 else if(window.XMLHttpRequest)                               //非ie浏览器

                                     xmlHttp=new XMLHttRequest();

                               }

3、异步链接服务器:

    createXMLHttpRequest();

   xmlHttp.open("GET","9-1.aspx","true");

   xmlHttp.onreadystatechange=function(){

       if(xmlHttp.readyState==4 && xmlHttp.status==200)

          {链接成功的操作。。}

}

xmlHttp.send(null);

注:解决ie的缓冲问题 surl=“9-1.aspx?”+new Date().getTime();

4、异步对象的属性和方法:

abort()                          取消请求;

getAllResponseHeaders()         获取响应的所有http头;

getResponseHeader()              获取指定的http头;

open(method,url)                    创建请求,method指定请求类型,如GET\ POST等;

send()                                  发送请求;

setRequestHeader()             发送指定的http头;

onreadystatechange()          发生任何状态变化时的事件控制对象;

readyState                            请求的状态:0尚未初始化;1正在发送请求;2请求完成;3请求成功,正接收数据;4数据接收成功。

responseText                      服务器返回的文本;

responseXML                    服务器返回的XML,可做dom处理;

status                               服务器返回的http请求响应值,常用的有:200请求成功;202请求被接收,但处理未完成;

                                        400表示错误 请求;404资源未找到;500 内部服务器错误,如aspx代码错误等。

5、请求的GET,POST模式(数据不多时用get,数据量大时用post):

     get请求 直接将数据放入url中,send() 不发送任何数据。

  post请求 数据统一在send()中,请求地址没任何信息,并接受设置文件头。

发送中文字符时,post会出现乱码,因为异步对象处理responseText时 按utf-8编码。需要用encodeURI()和decodeURI()进行编码解码。对发送数据2次编码。

6、处理多个异步请求:

   问题:请求的返回数据被最后一次覆盖。

  解决办法:xmlHttp对象作为局部变量,收到服务器返回值后手动删除(delete xmlHttp;)。

7、ajax框架

     1)AjaxLib: 是一个获取xml的框架

       在http://karaszewski.com/tools/ajaxlib上下载。

    调用函数loadXMLDoc(url,callback,boolean)

callback为请求成功返回后调用的函数名,boolean表示是否要去掉xml文档中的空格,true为去掉。

 2)AjaxGold:(ajaxgold.js)

 4个函数:

getDataReturnText(url,callback)

getDataReturnXML(url,callback)

postDataReturnText(url,data,callback)

postDataReturnXML(url,data,callback)

  评论这张
 
阅读(60)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017