来源: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. c\c++ 字符串处理大集合[转]

    rember this strncpy(a,b,); a[]='\0'; ]; memset(a,'#',sizeof(a)); a[]='\0'; 刚开始学C/C++时,一直对字符串处理函数一知半解 ...

  2. javascript数据缓存

    if(!self.hotCityPrice[city]) { $.ajax({ type: 'GET', url: self.hotCityUrl, data: {cityCode: city, t: ...

  3. (剑指Offer)面试题23:从上到下打印二叉树

    题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 思路: 很明显,这是一个广度优先遍历. 需要一个队列容器来保存结点,具体操作: 1.将根结点压入队列中,并打印根结点:如果根结点有子结点 ...

  4. silverlight调用MVC WebApi方法

    1.创建ASP.NET MVC4 Web应用程序,选择WebAPI模板 2.添加silverlight项目 3.新建一个数据模型类,代码如下: using System; using System.C ...

  5. Python 存储模型

    1.Python彻底分离了对象和引用,可以认为内存中的对象都是不可修改的,每次修改引用,相当于在堆上重新创建一个对象,引用指向新对象. 2.对于数值和字符串,修改意味着引用指向一个新对象. 3.集合中 ...

  6. HDU 1695 GCD 容斥

    GCD 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=1695 Description Given 5 integers: a, b, c, d, k ...

  7. 大一C语言结课设计之《学生信息管理系统》

    第一次写这么长的程序,代码仅供參考,有问题请留言. /* ** 学生信息管理系统 ** IDE:Dev-Cpp 4.9.9.2 ** 2014-6-15 */ #include <stdio.h ...

  8. Progressive JPEG

    和Baseline一遍扫描不同,Progressive JPEG文件包含多次扫描,这些扫描顺寻的存储在JPEG文件中.打开文件过程中,会先显示整个图片的模糊轮廓,随着扫描次数的增加,图片变得越来越清晰 ...

  9. j简单的递归

    1 某人写了n封信和n个信封,如果所有的信都装错了信封.求所有的信都装错信封共有多少种不同情况. 归纳法例子 1.有n个硬币(n为偶数)正面朝上排成一排,每次将n-1个硬币翻成朝上为止.编程让计算机把 ...

  10. Linux内存管理原理 与文件读写 图 相当详细

    http://www.cnblogs.com/zhaoyl/p/3695517.html http://www.cnblogs.com/huxiao-tee/p/4657851.html#_label ...