来源:http://www.imooc.com/learn/250

Ajax不是某种编程语言,而是一种在无须重新加载整个网页的情况下能够更新部分网页的技术。

一.概念介绍--异步

  利用XMLHttpRequest(XHR)对象来实现后台和服务器数据交换,这样就实现了异步。  步骤如下:

  运用HTML和CSS来实现页面,表达信息;

  运用XMLHttpRequest和web服务器进行数据的异步交换;

  运用JavaScript操作DOM,实现动态局部刷新。

 二.XHR对象的使用

var request;
if(window.XMLHttpRequest){
request = new XMLHttpRequest();//IE7+,Firefox,Chrome,Opera,Safari
}else{
request = new ActiveXObject("Microsoft.XMLHTTP"); //IE6,IE5
}

当然现在一般情况下是忽略掉IE5和IE6的

三.HTTP请求

  http是计算机通过网络进行通信的规则。它是一种无状态的协议,也就是说浏览器向服务器传递一个请求,然后服务器回应一个请求,之后两者间的联系就被关闭了。

  一个完整的HTTP请求过程,通常有下面7个步骤:

  1.建立TCP连接

  2.Web浏览器向Web服务器发送请求命令

  3.Web浏览器发送请求头信息

  4.Web服务器应答

  5.Web服务器发送应答头信息

  6.Web服务器向浏览器发送数据

  7.Web服务器关闭TCP连接

  一个HTTP请求一般由四部分组成:

  1.HTTP请求的方法或动作,比如是GET还是POST请求

  2.正在请求的URL,总得知道请求的地址是什么吧

  3.请求头,包含一些客户端环境信息,身份验证信息等

  4.请求体,也就是请求正文,请求正文中可以包含客户提交的查询字符串信息,表单信息等等

GET:一般用于信息的获取

    使用URL传递参数

    对所发送信息的数量也有限制,一般在2000个字符

POST:一般用于修改服务器上的资源

    对所发送信息的数量无限制

  一个HTTP响应一般由三部分组成:

  1.一个数字和文字组成的状态码,用来显示请求是成功还是失败

  2.响应头,响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等

  3.响应体,也就是响应正文

  HTTP状态码由3位数字构成,其中首位数字定义了状态码的类型:

  1XX:信息类,表示收到Web浏览器请求,正在进一步的处理中

  2XX:成功,表示用户请求被正确接收,理解和处理例如:200 OK

  3XX:重定向,表示请求没有成功,客户必须采取进一步的动作

  4XX:客户端错误,表示客户端提交的请求有错误,例如:404 NOT Found,意味着请求中所引用的文档不存在

  5XX:服务器错误,表示度武器不能完成对请求的处理:如 500

  了解上述状态码有助于开发者调试理解Web开发中的错误

Ajax学习笔记(一)的更多相关文章

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

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

  2. Ajax学习笔记demo

    AJAX学习 AJAX简介: 全称:Asynchronous JavaScript and XML (JavaScript执行异步网络请求(JS和XML)),通过AJAX可以在浏览器向服务器发送异步请 ...

  3. 基于PHP的AJAX学习笔记(教程)

    本文转载自:http://www.softeng.cn/?p=107 这是本人在学习ajax过程所做的笔记,通过本笔记的学习,可以完成ajax的快速入门.本笔记前端分别使用原生态的javascript ...

  4. ajax学习笔记1

    ajax是什么? ajax即“Asynchronous Javascript + XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.能够快速的从服务器获得所需数据 ...

  5. AJAX学习笔记

    AJAX不是一种编程语言,AJAX是一种实现网页异步加载的技术,即不刷新网页也能部分的更新网页的内容.如:提交表单信息,通过ajax可以不刷新页面来使得人们明白如何正确的填写信息,判断填写信息的错误或 ...

  6. Jquery ajax 学习笔记

    本人的js & jq 一直是菜鸟级别,最近不忙就看了看ajax方面的知识,文中部分内容参考自这里&这里 之前一直用js写ajax现在基于jq实现方便多了~ $.get & $. ...

  7. Ajax学习笔记2之使用Ajax和XML

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Using Ajax wit ...

  8. Ajax学习笔记1之第一个Ajax应用程序

    代码 <head> <title>An Ajax demo</title> <script src="../js/jquery-1.4.1.js&q ...

  9. Ajax学习笔记(二)

    二.prototype库具体解释 1.prototype库的使用 //导入下载好的prototype.js文件 <script type="text/javascript" ...

  10. ajax学习笔记(原生js的ajax)

    ajax是一个与服务器端语言无关的技术,可以使用在任何语言环境下的web项目(如JSP,PHP,ASP等). ajax优点: 1) 页面无刷新的动态数据交互 2) 局部刷新页面 3) 界面的美观 4) ...

随机推荐

  1. VC中常用的宏[转]

    我们在VS环境中开发的时候,会遇到很多宏定义,这些宏可以应用到代码中,或用于编译.工程选项等设置,总之是我们开发中必不可少的工具,有必要做一个总结.有些宏是C/C++定义的,有些宏是VC环境预定义的. ...

  2. Python在Windows上的安装

    1:下载 http://dlsw.baidu.com/sw-search-sp/soft/6e/17016/python-3.3.5.1395976247.msi 2:直接next安装 3:验证安装是 ...

  3. imindmap7_windows_7.0

    思维导图工具: imindmap7_windows_7.0 iMindMap7.0 和谐包V1.0 22:27:23

  4. CSS的魔法和魅力

    其实我最开始学会的语言是HTML,我记得那还是大一的事情.当时我对床的兄弟DR放了一本HTML的书在床上,我因为没事就拿来看看.那本书大概只有50页左右,可是可以说如果没有这本书,今天Maybe我不会 ...

  5. codeforces Gym 100187A A. Potion of Immortality

    A. Potion of Immortality Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/1001 ...

  6. rqnoj-217-拦截导弹-最长不上升子序列以及不上升子序列的个数

    最长上升子序列的O(n*log(n))算法. 不上升子序列的个数等于最长上升子序列的长度. #include<string.h> #include<stdio.h> #incl ...

  7. VS2010: Microsoft.TeamFoundation.PowerTools.CheckinPolicies.ChangesetComments 未注冊

    VS2010 缺少Team Foundation Server Power Tools 下载地址: http://visualstudiogallery.msdn.microsoft.com/c255 ...

  8. vs2013 设置为中文版

  9. 现有一些开源ESB总线的比較

    现有的开源ESB总线中,自从2003年第一个开源总线Mule出现后,如今已经是百花争鸣的景象了.如今我就对现有的各种开源ESB总线根据性能.可扩展性.资料文档完整程度以及整合难易程度等方面展开. 一. ...

  10. Linux下的线程

    一.线程的优点 与传统进程相比,用线程来实现相同的功能有如下优点: (1)系统资源消耗低. (2)速度快. (3)线程间的数据共享比进程间容易的多. 二.多线程编程简单实例 #include < ...