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. 删除项目中的.svn信息

    有时候我们新开发一个项目时,会将以前的项目从svn上down下来,然后复制一份.这样就会有个问题,项目中的svn信息就会一直存在.下面介绍删除方法: 1.新建一个.txt的文档.然后将下面代码粘贴到文 ...

  2. AndroidStudio中activity实现去掉标题栏

    1.在代码中实现 this.requestWindowFeature(Window.FEATURE_NO_TITLE) 这段代码需要放在setContentView()前面 2.设置在Manifest ...

  3. 关于 C# 调用 JavaWebservice服务,版本不一致的问题

    1. A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint.   问题原因: 客户端和服务端的SOAP协议版本不一 ...

  4. cs11_c++_lab3

    Matrix.hh class Matrix { int row; int col; int *p; void copy(const Matrix &m); void clearup(); p ...

  5. NHibernate系列文章二十三:NHibernate查询之Criteria查询(附程序下载)

    摘要 上一篇文章介绍了NHibernate HQL,他的缺点是不能够在编译时发现问题.如果数据库表结构有改动引起了实体关系映射的类有改动,要同时修改这些HQL字符串.这篇文章介绍NHibernate面 ...

  6. index()、e.target.value、on()与快捷处理的区别、

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. HTML的FormData对象

    FormData是HTML5标准制定的一个新的封装对象,有了FormData对象,可以方便地通过javascript创建表单数据,直接以ajax发送到服务器中. 目前浏览器的支持情况为: 详细的介绍与 ...

  8. SpringMVC学习笔记(三)

    一.SpringMVC使用注解完成 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--configure the setti ...

  9. Linux Shell脚本实现根据进程名杀死进程

    Shell脚本源码如下: #!/bin/sh #根据进程名杀死进程 if [ $# -lt 1 ] then echo "缺少参数:procedure_name" exit 1 f ...

  10. c#接口容易被忽视的问题

    今天在看"并发集合"的时候,接口IProducerConsumerCollection<T> 有一个方法是TryAdd(),表示"试图"去添加,然后 ...