AJAX 即“Asynchronous Javascript And XML”(异步JavaScript和XML)

Ajax 不是某种编程语言,只是一种在无需重新加载整个网页的情况之下能够更新部分网页的技术。(实现局部更新数据)

XMLHttpRequest 对象的创建

var request  = new XMLHttpRequest ;

解决兼容性的创建方法:

var request;
if(widsow.XMLHttpRequest){
request = new XMLHttpRequest();//IE7+,Firefox,Chrome,Oprea,Safari.....
}else{
request = new ActiveXObject("Microsoft.XMLHTTP");//IE6,IE5
}
HTTP 请求过程,一般有7个步骤:

、建立TCP连接(一般HTTP走的是TCP的连接)

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

、Web浏览器发送请求头信息

、Web服务器应答

、Web服务器发送应答头信息

、Web服务器向浏览器发送数据

、Web服务器关闭TCP连接

首先是请求的部分,HTTP请求一般分为4个部分组成:

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

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

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

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

*  一般请求头与请求体之间有个空行,这个空行很重要,表示请求头已结束。

GET :(默认的http请求的方法)一般用于信息获取,它是使用网页上的URL传递参数,会直接显示在网页的URL地址的后面;它对发送的信息的数量有所限制,一般是2K的容量(常用于查询、获取操作,对任何人可见,安全性不高)

POST : 一般用于修改服务哭上的资源;它对发送的信息的数量没有限制。(常用于发送表单数据,添加、修改等操作,对其它人不可见,安全性高)

请求的图例:
其次是响应的部分,一个HTTP响应一般由3部分组成 : 、一个数字和文字组成的状态码,用来显示请求是成功还是失败 、响应头,响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等等 、响应体,也就是响应正文,响应正文一般也是和请求正文差不多的,也会在响应头后面空行后显示响应正文。
响应的图例:(此图中没有响应正文)
XMLHttpRequest发送请求:

open(method,url,async) : 通过它可以调用http请求

 method : 表示使用get方法还是post方法发送请求,大写小写都可以,一般使用大写。

 url :表示发送请求的URL(必不可少),可以是相对路径,也可以是绝对路径

async : 表示是同步还是异步,值为 true 表异步方式,值为 false 表同步方式(默认值是 true ,一般会不填写)

send(string)  : 将请求发送到服务器

值 为get 可不写或null ;值 为 post 则需要填写内容,否则意义不大

使用范例:

request.open("GET","get.php",true);
request.send(); request.open("POST","post.php".true);
send(); request.open("POST","create.php".true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");//setRequestHeader必须写在open与send之间,否则会抛出异常
//若发送文件,一般是采用这种方式
request.send("name=张三&sex=男"); -------------------------------------------------------------------------------- XMLHttpRequest获取响应: 获取响应值的属性及方法:
、responseText : 获得字符串形式的响应数据 、responseXML : 获得XML形式的响应数据 、status 和 statusText : 以数字和文本形式返回 HTTP状态码 、getAllResponseHeader() :获取所有的响应报头 、getResponseHeader() : 查询响应中的某个字段的值 readyState( 返回响应的状态) readyState 存有 XMLHttpRequest 的状态。从 到 发生变化。 : 请求未初始化 ,open 还未调用
: 服务器连接已建立 ,open已经调用了
: 请求已接收 ,也就是接收到头信息了
: 请求处理中 ,也就是接收到响应主体了
: 请求已完成,且响应已就绪 ,也就是响应完成了 HTTP 请求过程范例: var request = new XMLHttpRequest();
request.open("GET","get.php".true);
request.send();
request.onreadystatechange = funcgion(){
if(request.readyState === && request.status === ){//readyState === 4 用来判断响应是否成功 status === 200 用来判断是否请求成功
//做一些事情 request.responseText
}
}

Ajax 知识点的更多相关文章

  1. 关于Ajax知识点小节

    URL:统一资源定位符 网络的七层协议:网卡 驱动  网络层(ip)  传输层(tcp udp) 会话层( )  应用层(http.) restful表征状态转移(一种表征架构) CURD 增删改查 ...

  2. ajax知识点总结

    一.JSON JSON是JavaScript  Object  Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数 ...

  3. ajax知识点

    什么是AJAX? AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. ...

  4. django jquery ajax 知识点

    示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <div id='d'>1</div> <div> <div id='i1' nam ...

  5. ajax知识点及正则表达式总结

    一.JSON JSON是JavaScript  Object  Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数 ...

  6. Ajax知识点复习

    1. ajax是什么? * asynchronous javascript and xml:异步的js和xml * 它能使用js访问服务器,而且是异步访问! * 服务器给客户端的响应一般是整个页面,一 ...

  7. ajax知识点补充

    读取服务器上的数据: HTML: <!DOCTYPE HTML><html><head><meta charset="utf-8"> ...

  8. Ajax知识点整理

    一.javascript原生Ajax 1.简介 Ajax是Asynchronous JavaScript+XML(异步JavaScript和XML)的缩写. 该名称诞生于XML还是数据传输首选格式的时 ...

  9. Ajax 知识点总结

    1.AJAX的优缺点都有什么? 最大的一点是页面无刷新,用户的体验非常好.使用异步方式与服务器通信,具有更加迅速的响应能力.可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻 ...

随机推荐

  1. NOIP2007 矩阵取数游戏

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  2. Entity Framework学习笔记——记一个错误解决方式及思路

    继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Da ...

  3. java线程内存模型,线程、工作内存、主内存

    转自:http://rainyear.iteye.com/blog/1734311 java线程内存模型 线程.工作内存.主内存三者之间的交互关系图: key edeas 所有线程共享主内存 每个线程 ...

  4. NET 强签名

    强签名: 1. 可以将强签名的dll注册到GAC,不同的应用程序可以共享同一dll. 2. 强签名的库,或者应用程序只能引用强签名的dll,不能引用未强签名的dll,但是未强签名的dll可以引用强签名 ...

  5. android开发--sqlite数据库

    一.SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级 使用 SQL ...

  6. js的数据类型

    关于js中的几大数据类型,估计大家都很熟悉:String.Number.Array.Bollean.Null.Undifine.Object: 从这其中,可以延伸出一个感念:基本数据类型和引用类型: ...

  7. Python面试题

    1.Python装饰器 详情 2.设置多个Python项目使用不同版本的Python和第三方库 使用PyEnv 详情 3.PEP8 详情 4.参数传递 按引用传递 5.列表解析,字典解析 详情 6.列 ...

  8. 用HttpWebRequest提交带验证码的网站

    using System; using System.Drawing; using System.IO; using System.Net; using System.Text; using Syst ...

  9. heartbeat重要文件的配置参数说明

    主要三个重要的文件:ha.cf, authkey, haresource 1)ha.cf的重要参数的说明: 参数 说明 debugfile  /var/log/ha-debug           h ...

  10. xcode调试技巧

    xode报错有时挺无厘头,完全不知道哪里出的问题,最后还得用排除法,记录一些工作中认为有用的调试技巧 1.左侧视图点断点视图,左下角点加号,选择exception breakpoint,类型选c++, ...