前端必学-----AJax--笔记---03

是不是感觉02中出现了很多新的单词,或者一头雾水,接下来我为大家一句一句解读,大家的不懂的,可以给我留言。

1.先创建Ajax引擎对象

就是创建 XMLHtttpRequest 对象,所有现代浏览器(市面上普遍用的浏览器)均支持XMLHttpRequest对象

(IE5 和 IE6 使用 ActiveXObject)它同时也是一个Javascript对象.

Ajax引擎(XMLHttpRequest)(重要的话写三遍:Ajax的核心XMLHttpRequest)

关于XMLHttoRequest的兼容处理的代码:

var xhr = null;

if (window.XMLHttpRequest) {

    xhr = new XMLHttpRequest;            //所有现代浏览器

}else{

    xhr = new ActiveXObject("Microsoft.XMLHTTP");           //ie5,ie6(注意大小写)

}

2.配置请求对象的信息

xhr.open('get/post' , 'url地址' , ['是否异步'] );

//open接受3个参数:要发送请求的类型,请求的url,是否异步请求(布尔值表示,ture表示异步,false你懂的)

//注意:如果使用post请求,就一定要设置请求头(关于get和post更详细的说明)
//请求头:xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=gb2312");(固定写法,不用理解,知道就行)

3.发送请求

xhr.send([null]);    

   
发送请求分为两种情况:
1.监控用户的事件(onclick,onchange等),通过ajax发送请求
2.监控浏览器的事件(onload),通过ajax发送请求.

//看不懂这俩句话,没关系,就当我没写,看完后边的,在会多头来理解,掌握发送请求就可以了。


4.监听Ajax引擎对象的改变(是否正确做出了响应)

xhr.onreadystatechange = function(){

//判断事件成与否

    if (xhr.readyState== 4 && xxhr.status==200) {

                   //在这里可以获取服务器返回的数据
               var result=xhr.responseText;
     }else{
                    var info=document.getElementById("info");
                    info.innerHTML="服务器数据已收返回";

     }

}

onreadystatechange属性是一个方法,监控到响应内容的返回,当readyState状态值改变的时候触发的事件,根据响应内容使用javascript改变当前页面的部分html代码,从而达到不刷新改变局部html代码.

Ajax引擎的状态发生改变时都会执行onreadystatechange属性对应的方法

status:返回当前请求的http状态码. 200 成功 ;304 缓存;404 not found; 403 没有权限 501 服务器级别错误

statusText:返回当前请求的响应行状态文本, ok、 not、 found 、forbidden


readyState::判断浏览器和服务器进行到哪一步了通过数值来判断
   0---(未初始化)还没调用open()方法
   1---(载入)已调用send()方法,正在发送请求
   2---(载入完成)send()方法完成,已经收到全部响应内容
   3---(解析)正在解析响应内容
   4---(完成)响应内容解析完成,可以在客户端调用了

Ajax引擎的状态属性为readyState4,说明服务器的响应已经发送给Ajax请求了.

但是响应的状态吗为200:说明响应的内容是正确的,这时才会根据相应内容对当前页面的html处理

responseText:ajax请求返回的内容被存放到这个属性下面



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值