ajax:
 * 同步交互和异步交互:
  * 同步交互:客户端发送请求——>等待服务器端处理——>接收响应,这个过程客户端不能做任何其他事情,这种模式叫做同步交互
  * 异步交互:客户端发送请求——>等待服务器端处理——>接收响应,这个过程客户端不用等待结果,可以做其他事情,这种模式叫做异步交互
  
  * ajax的定义:允许客户端与服务器进行通信,而无须刷新整个页面的技术叫做ajax。
 
  * 对比传统web模式与ajax模式的区别:
      * 传统web模式:客户端与服务器通信,交互的是整个页面
      * ajax模式:客户端与服务器通信,交互的是数据层面的
  
  * ajax的工作原理:在客户端与服务器进行通信的时候,客户端的请求首先发送给"ajax引擎",再由"ajax引擎"发送到服务器端
 
  * XMLHttpRequest对象:是使用ajax技术的关键
 
  * 实现ajax的步骤:
      * 创建XMLHttpRequest对象
      * 获取xmlhttpQequest对象

* 注册监听
      * 利用XMLHttpRequest对象的onreadystatechange属性来监听服务器的通信状态:
      * 服务器的通信状态具体由XMLHttpRequest对象的readyState属性来获取
        * readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
          0 代表未初始化。 还没有调用 open 方法
          1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
          2 代表已加载完毕。send 已被调用。请求已经开始
          3 代表交互中。服务器正在发送响应
          4 代表完成。响应发送完毕
     * 再利用XMLHttpRequest对象的另一个属性status,来获取访问服务器端是否正确
        * 常用状态码及其含义:
          404 没找到页面(not found)
          403 禁止访问(forbidden)
          500 内部服务器出错(internal service error)
          200 一切正常(ok)
          304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )
   
     * 接收服务器的响应数据:
          * 文本格式:利用XMLHttpRequest对象的responseText属性来接收;
          * xml格式:利用XMLHttpRequest对象的responseXML属性来接收;
          * json格式:利用XMLHttpRequest对象的responseText属性来接收,再利用eval()函数进行转换。
          * 利用"{}"开始和结尾的,相当于map集合
          * 利用"[]"开始和结尾的,相当于数组
     
     * 与服务器建立连接
          * 利用XMLHttpRequest对象的open(method,url,asynch)方法
          * method:请求类型,"GET"或者"POST"
          * url:请求路径
          * asynch:是否异步加载,true是异步加载
    
     * 如果请求类型时"POST"方式的话,需要设置请求首部信息
          * 利用XMLHttpRequest对象的setRequestHeader()方法
     * xhr.setRequestHeader("Content-type","application/x-www-form-urlencode")
    
     * 向服务器发送请求数据
          * 利用XMLHttpRequest对象的send()
          * 如果是"GET"请求类型的话,send()方法向服务器发送请求数据,服务器接收不到
          * 如果是"POST"请求类型的话,send()方法向服务器发送请求数据,服务器可以接收
  
  
  
     * 服务、服务器、中间件、servlet:
         * 服务:发布后的工程
         * 服务器:硬件承载容器,实际上就是电脑硬件
         * 中间件:tomcat、weblogic[oracle]、webshpere[IBM]
         * servlet:服务上,具体处理相关内容的文件

Ajax学习之小结的更多相关文章

  1. AJAX学习小结

    12345678910 $.ajax({ "url":"", //访问路径 "data":"", // 需要传输的数据 ...

  2. Ajax学习心得

    Ajax学习心得 大致学了下Ajax,才知道它不是某种编程语言,而是一种在无需加载整个页面的情况下能够更新部分网页的技术.了解了它的功能后觉得这真是一种好的技术,这得给前端和运维省多少力啊! 传统的网 ...

  3. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  4. ajax学习之post请求步骤

    ajax学习之post请求步骤 蚣汉御豁 讼护尧 娉郐皑 磲 力豪强的虎视眈眈相信过不了 觏随迦趾 怪了灵敏儿竟然不慌不忙的也没有来找她们 缸轰诎 ?ê戆冼 跄鲅胗绩 掳戈玉孑 馀模嗷婧 ...

  5. AJAX学习前奏----JS基础加强

     AJAX学习前奏----JS基础加强 知识概要: 1.js类&属性&方法的定义 2.静态属性与方法 3.构造方法 4.原型的使用 5.Object对象直接加属性和方法 6.JSO ...

  6. AJAX学习必备三本书

    <AJAX基础教程>AJAX必备图书之一.国内发行的第一本AJAX图书,也是目前最好的AJAX入门书,如果您是AJAX新手,此书是最好的入门图书.本书基本包括了实现Ajax需要了解的大部分 ...

  7. Ajax学习---Ajax基础学习 180128

    AJAX AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互,传输的数据为 ...

  8. AJAX学习2

    作者声明:本博客中所写的文章,都是博主自学过程的笔记,参考了很多的学习资料,学习资料和笔记会注明出处,所有的内容都以交流学习为主.有不正确的地方,欢迎批评指正. 本文学习内容:https://www. ...

  9. [学习笔记]AJAX学习

    AJAX学习 ——在w3cschool学习AJAX的学习笔记 参考网站:w3cschool XMLHttpRequest 是 AJAX 的基础. XMLHttpRequest 对象 所有现代浏览器均支 ...

随机推荐

  1. c reference

    1,函数:strdup复制字符串函数原型定义:char * strdup(const char *s);函数说明:strdup()会先用maolloc()配置与参数s字符串相同的空间大小,然后将参数s ...

  2. SQL Server 2008 批量插入数据时报错

    前几天在SQL Server 2008同步产品数据时,总是提示二进制文本被截断的错误,但是经过检查发现数据都符合格式要求. 百思不得其解,单独插入一条条数据则可以插入,但是批量导入则报错. 批量导入代 ...

  3. HDU 3046 Pleasant sheep and big big wolf(最小割)

    HDU 3046 Pleasant sheep and big big wolf 题目链接 题意:一个n * m平面上,1是羊.2是狼,问最少要多少围墙才干把狼所有围住,每有到达羊的路径 思路:有羊和 ...

  4. Radio Link Failure and Recovery

    四种会发生Radio Link Failure的场景 -  DL Physical Layer Failure (PDCCH BLER > 10%) -  Random Access Probl ...

  5. go-vim配置

    一.环境准备: 系统环境说明: [root@docker golang]# cat /etc/redhat-release CentOS Linux release (Core) [root@dock ...

  6. CentOS修改系统默认语言与编码

    有时候在安装CentOS无意中把默认语言设置为中文,而部分SSH软件不支持中文编码,所以在远程管理的时候会出现些乱码的现象.   如何修改CentOS的默认语言呢? 请先使用root权限帐户登陆 一. ...

  7. 注意:只有xcode5.1创建的项目会自动适配iphone6,iphone6p

    注意:只有xcode5.1创建的项目会自动适配iphone6,iphone6p

  8. VS2013无法链接到TFS (转)

    VS2013无法链接到TFS(Visual studio online),错误TF31001,TF31002   TF31002: Unable to connect to VisualStudio ...

  9. 使用泛型对java数组扩容

    编写一个通用方法,其功能是将数组扩展到10%+10个元素(转载请注明出处) package cn.reflection; import java.lang.reflect.Array; public ...

  10. ssh生成密钥(供git使用)

    我们在使用git远程更新时候,需要设置好远程密钥,以使我们能够远程更新代码到代码库中.现在我们就来做一下这件事情(ssh模式下) ssh-keygen  -t rsa -c “hcu5555@hotm ...