zoukankan      html  css  js  c++  java
  • 关于AJAX

      从AJAX的工作原理来看,它是一种可以使用脚本操纵HTTP和Web服务器进行数据交换并且不会导致页面重载的技术。Ajax的核心就是XMLHttpRequest对象。

      

      具体来说,AJAX包括以下几个步骤:

      1、创建Ajax对象。

      2、发出http请求。

      3、接收服务器传回的数据。

      4、更新网页数据。

      概括起来,就是一句话,AJAX通过原生的XMLHttpRequest对象发出http请求,得到服务器返回的数据后,再进行处理。

      AJAX可以是同步请求,也可以是异步请求。但是,大多数情况下,特指异步请求。因为同步的Ajax请求,对浏览器有“堵塞效应”。

    1、XMLHttpRequest对象

      XMLHttpRequest对象用来在浏览器与服务器之间传递数据。

      var ajax=new XMLHttpRequest();

      ajax.open('get','http://www.example.com/page.php',true);

      上面的代码向指定的服务器网址,发出GET请求。

      然后,AJAX指定回调函数,监听通信状态(readyState属性)的变化。

      ajax.onreadystatechange=handleStateChange;

      一旦能拿到服务器返回的数据,ajax不会刷新整个网页,而是只更新相关部分,从而不打断用户正在做的事情。

      下面是XMLHttpRequest对象的典型用法。

      var xhr=new XMLHttpRequest();

      //指定通信过程中状态改变时的回调函数

      xhr.onreadystatechange=function(){

        //通信成功时状态值为4

        if(xhr.readyState===4){

          if(xhr.status===200){

            console.log(xhr.reponseText);

          }else{

            console.error(xhr.statusText);

          }

        }

      }

      xhr.onerror=function(e){

        console.error(xhr.statusText);

      }

      //open方式用于指定HTTP动词、请求的网址、是否异步

      xhr.open('GET','/endpoint',true);

      //发送http请求

      xhr.send(null);

      open方法的第三个参数是一个布尔值,表示是否为异步请求。如果设为false,就表示这个请求是同步的。

    2、XMLHttpRequest实例的属性

      2.1、readyState

        readyState是一个只读属性,用一个整数和对应的常量,表示XMLHttpRequest请求当前所处的状态。

        

  • 相关阅读:
    嵌套类型返回错误解决办法(如迭代器的设计)
    UITableView的多选删除模式
    UITableView的编辑模式
    指针和引用初理解
    strstr()函数实现
    一句话的单词倒置
    字符串过滤程
    strcpy函数
    二叉排序树(Binary Sort Tree)
    二叉树插入操作
  • 原文地址:https://www.cnblogs.com/meway/p/5840419.html
Copyright © 2011-2022 走看看