读书人

AJAX学习心得分享-(1)AJAX初识+原生

发布时间: 2012-10-16 09:57:37 作者: rapoo

AJAX学习心得分享----(一)AJAX初识+原生态AJAX

完成;收到全部响应数据

下面看第二个属性:HttpRequest.status :由服务器返回的HTTP 状态代码 200表示OK一切正常,可以进行下一步的操作,当然还有其他的一些状态码,比如大家所知的404、303等,这里就不再做过多介绍了,只要用到HttpReques.status,我们记的拿它与200相比就可以了。当然还有另外一种状态的表示方式:HttpRequest.statusText,这个属性用名称而不是数字指定了请求的 HTTP 的状态代码,仅当readyState值为3或4才可用。当readyState为其它值时试图存取statusText属性将引发一个异常。

然后我们看满足if条件时,执行的代码,这里边又用到了一个HttpRequest.responseText:

该属性的意思是如果满足了if()里的判断条件,则包含客户端接收到的HTTP响应的文本内容,如果不满足以上的readyState==4,则当readyState值为0、1或2时,responseText包含一个空字符串。当readyState值为3(正在接收)时,响应中包含客户端还未完成的响应信息。上边也有介绍,这里就不再重复了。此外还有一个HttpRequest.reponseXML 属性,此属性用于当接收到完整的HTTP响应时(readyState为4)描述XML响应;此时,Content-Type头部指定MIME(媒体)类型为text/xml,application/xml或以+xml结尾。如果Content-Type头部并不包含这些媒体类型之一,那么responseXML的值为null。

紧接下来要执行的是HttpRequest.send()函数,这个时候才真正的向服务器发送请求,send()方法接受一个参数,如果是用“get”的方式请求这里边可是设置为null也可以什么都写,因为“get"的方式所需传的值都通过url传递了,如果是”Post“的请求方式,则传递的参数可以写在send()里。

下面附上使用Post的请求方式的Ajax代码

function SayHello() {

alert("hell0");

CreatHttpRequest();

if (xmlhttp != null) {

var name = document.getElementById("txtname").value;

xmlhttp.open("Post", "SayHello.ashx", true);

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");//使用Post方式请求时必须要加上这句话

xmlhttp.onreadystatechange = function () {

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

alert(xmlhttp.responseText);

}

}

xmlhttp.send("Name="+name+"&i="+Math.random());//传递所需的参数

}

到这里我已经基本上把HttpRequest的核心的东西给大家讲完了,通过这一章节的学习,我想你已经可以自如做到构建一个属于你的Ajax程序了,当然这些都只是些比较基础的Ajax的东西,这些都是原生态的Ajax,现在我们也可以使用JQuery实现Ajax,而且这个封装的也比较好,用起来也比较方便,但是我觉得我们还是有必要把Ajax的原理给搞清楚的,这样运用起来才会比较的自如。希望能对大家有所帮助,也希望大家多多指点!下一节我主要会讲通过JQuery的方式实现Ajax效果。

读书人网 >Ajax

热点推荐