加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax异步请求

发布时间:2020-12-15 22:01:00 所属栏目:百科 来源:网络整理
导读:if (window.XMLHttpRequest){xmlObj = new XMLHttpRequest();}else if (window.ActiveXObject){xmlObj = new ActiveXObject("Microsoft.XMLHTTP");} 我们通过这个对象的OPEN方法向服务发送请求, 该函数声明为XMLHttpRequest.open(String method,String URL,
if (window.XMLHttpRequest){
xmlObj = new XMLHttpRequest();
}else if (window.ActiveXObject){
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}

我们通过这个对象的OPEN方法向服务发送请求,

该函数声明为XMLHttpRequest.open(String method,String URL,boolean asynchronous);

method是请求的方式,可以为GET和POST URL是你要请求的资源 asynchronous是布尔类型,为true表示交互设置为异步

xmlObj.open("GET",URL,true); xmlObj.send("");

调用send()(参数是空或是null)将会发起一次请求,

对于GET方式的请求,两次同样的请求将会得到相同的结果,

由于为将交互设置为异步方式,因此要为指定一个回调函数:

xmlObj.onreadystatechange = callBackFunction; 剩下的事就交给回调函数处理了。

有一点要注意了,用Servlet或JSP来响应异步请求时,

要设置reponse的contentType属性指明是XML格式:

response.setContentType("text/xml"); 一切都准备好了,那我们现在来做一个简单的异步请求,并将请求返回的结果显示出来:

客户端:

<html> <script language="javascript"> function load(resource) { if (window.XMLHttpRequest){ xmlObj = new XMLHttpRequest(); }else if (window.ActiveXObject){ xmlObj = new ActiveXObject("Microsoft.XMLHTTP"); }else { return; } xmlObj.onreadystatechange = handleResponse; xmlObj.open("GET",resource,true); xmlObj.send(""); } function handleResponse() { if (xmlObj.readyState == 4){//xmlObj loaded if (xmlObj.status == 200){ var datas = xmlObj.responseXML.getElementsByTagName("data"); var obj = document.getElementById("data"); obj.innerText = datas[0]; } } } </script> <body> <p><a href="#" onclick="load('data.jsp')">发送请求</a></p> <p id="data">看这里!</p> </body> </html> 以下是data.jsp

<%response.setContentType("text/xml");%> <?xml version='1.0' encoding='gb2312' ?> <home> <data>Zjcfan</data> </home>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读