代码改变世界

ajax

2017-08-24 13:05  谭丽#  阅读(111)  评论(0编辑  收藏  举报

什么是ajax,ajax有什么作用

(2011-12-20 22:51:48)

转载

标签:

ajax

web

it

分类: 工作学习ing 

什么是ajaxajaxasynchronous javascript and xml(异步javascriptxml),它并不是一门新技术,而是由javascript css dom(文档对象模型)xmlhttprequest混合实现的。

 

XMLhttpRequest对象是AJAX中的核心对象,它是一个具有应用程序接口的JavaScript对象,能够使用超文本传输协议连接1个服务器,是微软在1999IE5.0浏览器中率先提出的

 使用XMLhttpRequest对象,AJAX可以象桌面应用程序一样,只同服务器进行数据层面的交互,而不用每次都刷新页面,这样加快了服务器响应速度,缩短用户的等待时间

 

open()

 用于设置异步请求方法,URL

send()

 用于向服务器发送请求

onreadystatechange()

 每个状态改变都会触发这个事件

 

readyState

 请求的状态,0=初始化,1=正在加载,2=已加载,3=交互中,4=完成

responseText

 服务器响应字符串

responseXML

 服务器响应XML

 

status

 返回服务器的HTTP状态码

 200=成功

 202=请求被接受,但尚未成功

 400=错误请求

 404=文件未找到

 500=内部服务器错误

 

If(window.ActiveXObject){//判断是否为IE浏览器

 xmlhttp = new ActiveXObject(“Microsoft.XMLHttp”)

}else{

 xmlhttp = new XMLHttpRequest();

}

 

•POST的设置

•setRequestHeader("Content-type","application/x-www-form-urlencoded");

使用JQUERY实现AJAX

  

使用load,$.get(),$.post()可以非常方便地实现AJAX,但却不能控制很多细节

JQUERY还提供了1个强大的函数

$.ajax

主要属性和方法:

url,data,success,cache,type

Ajax编写步骤

①  创建Ajax对象

Ajax中最核心的就是XMLHttpRequest对象。创建Ajax对象事实上就是创建XMLHttpRequest对象

 

该对象最早是由微软公司在发布IE5的时候在IE5里面嵌入的一种技术,但是现在市面上所有浏览器都默认内置了该对象

 

创该对象,方法要分为IE浏览器和主流浏览器

 

在不知道客户端使用的是什么浏览器的情况下,通过一个简单判断,可以确定究竟是创建主流浏览器方式的XMLHttpRequest对象还是创建IE方式的XMLHttpRequest对象

方式如下:通过一个window.ActiveXObject对象是否存在来进行判断

② 与服务器建立连接并向服务器发送数据

创建好对象以后需要做的就是与服务器建立连接,并向服务器发送数据。这里有一个问题,什么时候向服务器发送数据

这里需要使用到JS里面的事件,当触发某一事件时,就会向服务器发送请求。

 

XMLHttpRequest对象里面,有一个叫做open()方法,可以建立与服务器的连接

该方法接收3个参数 1. 连接方式 2. 连接的地址 3.同步还是异步(布尔值)

 

XMLHttpRequest对象还有一个send()方法,该方法是向服务器发送数据的,如果是GET方式,那么该方法的参数为null

如果open()的时候是以post的方式,那么send()方法里面就需要写入向服务器发送的数据

③ 设置回调函数

通过XMLHttpRequest对象的onreadystatechange属性就可以监听Ajax对象的运行状态

通过XMLHttpRequest对象的readyState属性可以取到当前Ajax对象的运行状态

通过XMLHttpRequest对象的status属性可以取到响应的状态码

通过XMLHttpRequest对象的responseText属性获取从服务器取回的数据