yunnick 发表于 2013-1-29 11:44:46

实现Ajax的两种简易方式

以下都是平常工作内容的一些总结。
 
方法一:借用Jquery包
<script type="text/javascript" src="jquery.js"></script>function func(){//在func函数中使用ajax    var param = document.getElementById("param").value;    $ajax({//ajax的内容          url="servlet/checkUser?username="+param,//所对应的Servlet及所需参数          type = "post",         success:function(data, testStatus){ //成功后回调函数,有两个参数:服务器返回数据,返回状态         },         error:function(){//错误处理         }   })}  
 
 
对应的Servlet函数
public class checkUser extends HttpServlet {    public void doGet (HttpServletRequest req, HttpServletResponse resp)    public void doPost (HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{   response.setContentType("text/html");   PrintWriter out = response.getWriter();   Stirng username = response.getParameter("usernmae");   ...   } 
 
方法二:自己写代码,主要就是创建XMLHttpRequest对象(这是Ajax的本质)。
 
var xmlHttpRequest;function createXMLHttpRequest(){//创建XMLHttpRequest对象   if (window.ActiveXObject){          xmlHttpRequest= new ActiveXObject("Microsoft.XMLHTTP");   }   else if (window.XMLHttpRequest){      xmlHttpRequest= new XMLHttpRequest();   }} function loginCheck(){//功能函数createXMLHttpRequest();    var name = document.getElementById("name").value;var password = document.getElementById("password").value;xmlHttp.open("POST","checkUserName.do?name="+name+"&password="+password,true); //checkUserName.do为struts文件中对应的跳转,xmlHttp.onreadystatechange = handleStateChange;//对服务器返回信息处理xmlHttp.send(null); } function handleStateChange(){    //等到数据加载完if(xmlHttp.readyState ==4){   //状态码200表示成功   if(xmlHttp.status == 200){       var returnText = xmlHttp.responseText.toString(); //returnText的值就是由checkUserName.do对应的Java文件返回的值   ...   }}} 
 
页: [1]
查看完整版本: 实现Ajax的两种简易方式