来源: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. linux如何安装MyEclipse 2014

    http://jingyan.baidu.com/article/0320e2c1cced031b87507b08.html

  2. CT值及CT常用窗宽、窗位 [转]

    一.常用CT值 CT值的含义是:每个反应管内的荧光信号达到设定的域值时所经历的循环数.研究表明,每个模板的Ct值与该模板的起始拷贝数的 对数存在线性关系,起始拷贝数越多,Ct值越小.利用已知起始拷贝数 ...

  3. 【JUnit】EasyMock用法总结

    使用EasyMock的总体步骤 1.生成Mock接口 IService mockService = EasyMock.createMock("name", IService.cla ...

  4. CSS 强制换行和禁止换行学习

    强制换行       1.word-break: break-all;       只对英文起作用,以字母作为换行依据.       2.word-wrap: break-word;   只对英文起作 ...

  5. Java多线程:线程死锁

    发生死锁的原因通常是两个对象的锁相互等待造成的. 以下用一个实例来构造这样的情况: package basic.e_deadlock; import org.apache.log4j.Logger; ...

  6. [AngularJS] Using Services in Angular Directives

    Directives have dependencies too, and you can use dependency injection to provide services for your ...

  7. cocos2d-html5的jsb模式下如何在编译时自动将js编译为jsc

    cocos2d-html5是一个用JS来开发游戏的框架,通过javascript Binding的方式可以将游戏编译到手机上.这对前端开发人员来说非常方便,开发效率也比使用c++开发要快的多. jsb ...

  8. SSD(固态硬盘)简介

    http://www.jinbuguo.com/storage/ssd_intro.html

  9. archlinux随记

    xrdb -merge .Xresources才能使urxvt的配色显示正常 xpmroot 包含在fvwm包中

  10. InAction-MR的topK

    本来只是想拿搜狗的数据练练手的,却无意踏足MR的topK问题.经过几番波折,虽然现在看起来很简单,但是摸爬滚打中也学到了不少 数据是搜狗实验室下的搜索日志,格式大概为: 00:00:00 298219 ...