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. 基于mini2440的Qt移植

    花了很长时间,终于把Qt移植到mini2440开发板上了,不能说完全成功,总算是完成一大步,各中过程心酸,废话不多说,下面正式讲解移植过程. 移植环境: win7系统,虚拟机是ubuntu12.04 ...

  2. Linux:cacti环境部署

    一.监控端安装1)基础软件:安装配置cacti前,需要安装:httpd.php.mysqld.php-mysql.net-snmp.rrdtool以上均可使用yum安装:yum install -y ...

  3. TCP、UDP、IP 协议分析

    http://rabbit.xttc.edu.cn/rabbit/htm/artical/201091145609.shtml  http://bhsc881114.github.io/2015/06 ...

  4. cx_Oracle 报错 Reason: image not found

    (Study_env) ➜ DAL python -c "import cx_Oracle"Traceback (most recent call last): File &quo ...

  5. 转 LoadRunner 技巧之THML 与 URL两种录制模式分析

    Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based ...

  6. redis 基本数据类型

    概述 Redis的键值可以使用物种数据类型:字符串,散列表,列表,集合,有序集合.本文详细介绍这五种数据类型的使用方法.本文命令介绍部分只是列举了基本的命令,至于具体的使用示例,可以参考Redis官方 ...

  7. python基础知识---操作文件

    一.打开文件  open()函数 open函数返回一个文件对象. 用法:open('文件名','模式') 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内 ...

  8. php实现只保留mysql中最新1000条记录

    这篇文章主要介绍了php实现只保留mysql中最新1000条记录的方法和相关示例及数据库结构,十分的全面,有需要的小伙伴可以参考下. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  9. 在php中防止SQL注入的方法

    摘要:我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全.整个PH ...

  10. 我的第一个web应用开发搭建-环境配置

    MyEclipse 2014 破解图文详细教程 MyEclipse作为Java EE最受欢迎的IDE,最新版本为2014版,MyEclipse 2014破解的方法. 一.安装完成MyEclipse20 ...