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

初识Ajax

发布时间:2020-12-15 21:59:54 所属栏目:百科 来源:网络整理
导读:Ajax实现一步交互数据,看实例,来说事 准备一个JS文件,初始化XMLHttpRequest对象 并实现XMLHttpRequest的几个函数 open(menthod,url,asynch) send(null) onreadystatechang 主要的三个函数,那么,首先来初始化我么的XMLHttpRequest对象 在初始化该对象我么创建
Ajax实现一步交互数据,看实例,来说事


准备一个JS文件,初始化XMLHttpRequest对象
并实现XMLHttpRequest的几个函数
open(menthod,url,asynch)


send(null)


onreadystatechang


主要的三个函数,那么,首先来初始化我么的XMLHttpRequest对象


在初始化该对象我么创建一个函数为其初始化,直接调用即可,初始化XMLHttpRequest对象是固定好的,你可以直接Copy


//当页面加载完毕后执行下面的代码
window.onload = function(){

document.getElementById("oks").onclick = function(){



//第一步:初始化对象
var xhr = ajaxFunction();


//第二步:进行客户端与服务器的连接


//第一个参数:可以是GET 或者 POST
//第二个参数:请求路径,可以是绝对路径也可以是相对路径
//第三个参数:是否实现异步传输数据,默认为true(异步)
xhr.open("GET",../testServlet?timeStamp="+new Date().getTime() + "&c=9",true);

//第三步:客户端向服务器发送请求
//如果客户端的请求类型是GET方式,利用send()方法发送请求数据,服务器端接收不到
// 但是不省略,要写成:xhr.send(null);
xhr.send("a=7&b=8");//如果不信可以加入参数,服务器端接收不了 //xhr.send(null);

//第四步: 服务器端向客户端进行响应
XMLHttpRequest对象的onreadystatechange属性:监听服务器端的通信状态


xhr.onreadystatechang = function(){

if(xhr.readyState == 4){
var data = responseText;
alert(data);
}
}
}



//初始化XMLHttpRequest代码
function ajaxFunction(){

var xmlHttp;

try{
//支持FireFox,Open 8.0 ...
xmlHttp = new XMLHttpRequest();
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}


}
return xmlHttp;
}

}










test.jsp


<head>
<script type="text/javascript" src="./test.js"></script>
</head>
<body>
<form action="" enctype="application/x-www-form-urlencoded">
<!-- 注意:这里的id需要和Ajax中的document.getElementById("oks").onclick = function()是一样的,否则获取不到按钮ID,更本就连不上服务器 -->
<input type="button" name="ok" id="oks" value="测试服务器连接">
</form>
</body>






TestServlet.java
需要注意的是,在配置文件中的URL路径需要和xhr.open("GET",true);中的第二参数URL一致
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter pw = response.getWriter();

System.out.println("Connection service success!");

System.out.println("a = " + request.getParameter("a"));
System.out.println("b = " + request.getParameter("b"));
//所以说,在JS文件中的请求参数是可以正常获取的
System.out.println("c = " + request.getParameter("c"));
System.out.println("time = " + request.getParameter("timeStamp"));


//向客户端进行响应数据
pw.print("我是服务器,你请求的数据,我现在处理好了,返回给你了现在...");




我么服务器响应数据都是通过“流”进行数据的传输的


好的,通过上面的实例,我么已经对Ajax已经有初步的认识了....


希望对各位有帮助.......................................................................

(编辑:李大同)

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

    推荐文章
      热点阅读