实现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]