• ajax_XMLHttpRequest


         之前在项目中经常用jquery ajax进行局部刷新,最近想来仅仅是用而且,对于它是怎么个回事一窍不通哈。今天开始,学习下ajax。

    ajax(Asynchronous JavaScript and XML)并不是一门新的技术而是html,javascrpit,dom,css等技术的结合。ajax的核心是javaScript的对象XMlHttpResquest对象。通过XMlHttpResquest对象的属性和方法来和服务器进行通信。几乎每个浏览器都有用javaScprit编写的ajax引擎。用户发送ajax请求,就跑到了ajax引擎,然后任ajax引擎去与服务器进行互动,用户自己再去干自己的事,从而也就实现了异步。

    参考文档:ajax.chm

    XMLHttpRequest对象的使用。
    1.创建HttpRequestXml对象(ie 和非ie)可以从ajax.chm手册中查到
    2.打开和服务器的链接 open(menthod,url+new Date().getTime(),asynch)其中url一般加上时间措,以避免多次点击同一个url事,从缓存中取数据
    3.发送数据  send(data) 如果是get方式,则为send(null).
    4.接受服务器端的响应(在ajax执行过程中服务器会通知客户端的通信状态。依靠XMLHttpRequest对象的readyState来实现。每次改变,会触发readyStateChange事件
     XMLHttpRequest的readyState属性表示ajax请求的当前状态.
     0代表未初始化。还没调用open方法。
     1代表正在加载。open调用,但send()方法没调用
     2代表加载完毕。send被调用。请求开始
     3代表交互中。服务器正字发送响应
     4代表完成。响应发送完毕)。
     客户端是怎么样接受到服务器发送的响应的呢???返回的数据放在 XMLHttpRequest.responseText 或者responseHTML中
     xmlHttpRequest.readystatechange(){//第四步应该放到第一步的下面
      if(xmlHttpRequest.readyState==4){
       //信息成功返回  200 没有被修改  304
       if(xmlHttpRequest.status==200|| xmlHttpRequest.status==304){
        alter(xmlHttpRequest.responseText);
       }
      }
     }

  • 相关阅读:
    wikioi 1002 旁路
    OS X升级到10.10使用后pod故障解决方案出现
    Python challenge 3
    maven 编
    独立博客网站FansUnion.cn操作2多年的经验和教训以及未来计划
    Wakelock API详解
    智遥工作流——会签与多人审批区别
    mysql 参数optimizer_switch
    OpenRisc-31-关于在设计具有DMA功能的ipcore时的虚实地址转换问题的分析与解决
    TROUBLE SHOOTING: FRM-30425
  • 原文地址:https://www.cnblogs.com/hqqcoffee/p/3503686.html
Copyright © 2020-2023  润新知