您的位置:首页 > 其它

初学ajax笔记(关于方法的理解)

2018-04-07 20:59 190 查看

ajax对于不同浏览器的不同方法

ajax对于IE6和IE5浏览器执行代码
ActiveXObject()
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

对于IE7和IE7以上的浏览器
XMLHttpRequest()
xmlhttp = new XMLHttpRequest();

onreadyStateChange事件

onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果
onreadyStateChange事件是在readyState属性发生改变时触发的,

readyState的值

readyState的值表示了当前请求的状态,
在事件处理程序中可以根据这个值来进行不同的处理。 

readyState有五种可取值:

0:尚未初始化,
1:正在加载,
2:加载完毕,
3:正在处理;
4:处理完毕。一旦readyState属性的值变成了4,就可以从服务器返回的响应数据进行访问了。
Http状态码 含义
200 请求成功
202 请求被接受但处理未完成
400 错误请求
404 请求资源未找到
500 内部服务器错误

.open方法

xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);
xmlhttp.open(bstrMethod, bstrUrl, varAsync, bstrUser,  bstrPassword);

       bstrMethod

   http方法,例如:POST、GET、PUT及PROPFIND。大小写不敏感。

       bstrUrl

   请求的URL地址,可以为绝对地址也可以为相对地址。

   varAsync[可选]

   布尔型,指定此请求是否为异步方式,默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。
true和false的区别是:
true:请求是异步的 说明发送请求后不必等到响应回来就可以干后边的事 
false:的话是同步的 必须等到响应回来了 才能干后边的事

   bstrUser[可选]

   如果服务器需要验证,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。

   bstrPassword[可选]

   验证信息中的密码部分,如果用户名为空,则此值将被忽略。

如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据: xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
setRequestHeader(header,value)

向请求添加 HTTP 头:

header: 规定头的名称
value: 规定头的值

服务器响应方式:

responseText 获得字符串形式的响应数据。
responseXML 获得 XML 形式的响应数据。

一段AJAX参考代码:

<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
//  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//判断当前请求的状态
xmlhttp.onreadystatechange=function()
{
//如果当前请求状态是处理完毕,并且http状态码为请求成功
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//把从服务器拿出来的文本内容放入id为mydiv的DIV中
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
//responseText属性包含了从服务器返回的文字信息。这些信息其实就是所请求的页面。
//如果包括<html></html>标签,那么在调用某个span的innerHTML()方法时,
//由于<html></html>不能嵌套在<span></span>中,就会引发“未知运行期错误”
}
}
//设置
xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);
xmlhttp.send();
xmlhttp.send() 方法接受一个可选的参数,其作为请求主体;如果请求方法是 GET 或者 HEAD,则应将请求主体设置为 null。
在get方式下里面的参数应为null,也就是说send()方法仅用于post请求
在post请求下可传递参数
}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  AJAX
相关文章推荐