初识Ajax

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",../testServlet?timeStamp="+new Date().getTime() + "&c=9",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已经有初步的认识了....


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










































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值