• 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);
       }
      }
     }

  • 相关阅读:
    [置顶] 怎么对待重复的代码
    AIX和Linux中wtmp的不同处理方式
    Visio 下载,及密钥
    全局变量和局部变量
    UNIX网络编程--IPV4 IPV6 ICMPV4 ICMPV6
    Android XML文档解析(一)——SAX解析
    rnqoj-30- [stupid]愚蠢的矿工-树形DP
    linux 文件内容的复制
    主流视音频平台参数
    FTP原理
  • 原文地址:https://www.cnblogs.com/hqqcoffee/p/3503686.html
Copyright © 2020-2023  润新知