AJAX作為一種異步的javascript程序執(zhí)行方法,極大的彌補(bǔ)了HTTP協(xié)議的不足(HTTP協(xié)議為無狀態(tài)協(xié)議),可以無需加載整個(gè)頁面,只需加載所需數(shù)據(jù)即可,瀏覽器內(nèi)置的xmlHttp對(duì)象有open()方法,可以提供,JS的異步操作。
下面演示一個(gè)GET方法的小例子,GET與POST相比,當(dāng)傳輸數(shù)據(jù)大時(shí),有罕見字符時(shí),建議使用POST;
首先我們創(chuàng)建一個(gè).html文檔,名稱隨意,在里面輸入:
<body> <script type="text/Javascript" src="1.js"></script> 用戶注冊(cè):<br/> 用戶編號(hào):<input type="text" name="str1" id="str1" /><br/> 用戶名稱:<input type="text" name="str2" id="str2" /><br /> <input type="button" value="注冊(cè)" onclick="test();" /> <p id="mydiv" ></p> </body>
這個(gè)是body之內(nèi)的代碼,主要就是一個(gè)前端的界面,底下的<p></P>顯示從servlet里面的返回值。
創(chuàng)建一個(gè)1.js文件,代碼:
var xmlhttp = null;/** * */function test(){ if(window.XMLHttPRequest){ xmlhttp = new XMLHttpRequest(); }else if(window.ActiveXObject){ xmlhttp = new ActiveXObject("Micorsoft.XMLHTTP"); }else{ alert("創(chuàng)建對(duì)象失敗"); } str1 = document.getElementById("str1").value; str2 = document.getElementById("str2").value; xmlhttp.onreadystatechange = test2; xmlhttp.open("GET", "servlet?str1="+str1+"&str2="+str2, true); xmlhttp.send(null); }function test2(){ if(xmlhttp.readyState == 4){ if(xmlhttp.status == 200){ var str3 = xmlhttp.responseText; document.getElementById("mydiv").innerHTML =str3; } }else{ document.getElementById("mydiv").innerHTML = "耐心等待..."; }}
下面配置servlet代碼,創(chuàng)建一個(gè)sevlet類,在doGet()方法里面寫:
response.setContentType("text/html"); PrintWriter out = response.getWriter(); String str1 =new String(request.getParameter("str1").getBytes("ISO-8859-1"),"UTF-8"); String str2 =new String (request.getParameter("str2").getBytes("ISO-8859-1"),"UTF-8"); String responseText = "userNumber is:"+str1+",userName is:"+str2+"[Menthod is GET]"; out.println(responseText); out.close();
很簡單的servlet,doGet()方法。創(chuàng)建好了之后,在web.xml將servlet的映射(<url-pattern>/servlet</url-pattern>)標(biāo)簽之內(nèi),一樣。
點(diǎn)擊注冊(cè)之后便會(huì)顯示了。
下面填入數(shù)據(jù),點(diǎn)擊注冊(cè):
可以看瀏覽器左側(cè),并沒有新加載頁面,通過servlet直接更新了部分?jǐn)?shù)據(jù),AJAX成功運(yùn)用的典型還有Google earth等一些頁面即時(shí)通訊.
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注