用JavaScript實現的Ajax,在性能上要比使用jQuery的ajax方法快一些,,因此說通常狀況下,,我的建議仍是我的用javascript實現ajax請求較好,javascript主要是利用XMLHttpRequest對象發送異步請求,首先須要定義XMLHttpRequest對象:javascript
- <script type="text/javascript">
- if(window.XMLHttpRequest){
-
- var xmlhttprequest = new XMLHttpRequest();
- }else{
- if(window.ActiveXObject){
-
- try{
- var xmlhttprequest = new ActiveXObject('Msxml12.XMLHTTP');
- }catch(e){
- try{
- xmlhttprequest = new ActiveXObject('Microsoft.XMLHTTP');
- }catch(e){
- }
- }
- }
- }
- </script>
而後就是使用該對象,在這裏定義了兩個,一個是GET方式發送,一個是POST方式發送:html
GET方式:java
- function jsAjaxGet(){
- var ul = document.getElementById("jsajaxget");
-
-
-
- xmlhttprequest.open("GET","Ajax_javascript.action",false);
-
- xmlhttprequest.send(null);
-
- ul.innerHTML += "<li>status:" + xmlhttprequest.status + "</li>";
- ul.innerHTML += "<li>statusText:" + xmlhttprequest.statusText + "</li>";
- ul.innerHTML += "<li>return:" + xmlhttprequest.responseText + "</li>";
- }
POST方式:jquery
- function jsAjaxPost(){
- var ul = document.getElementById("jsajaxpost");
-
-
-
- xmlhttprequest.open("POST","Ajax_javascript.action",false);
-
- xmlhttprequest.setRequestHeader('Content-type','application/x-www-form-urlencoded');
-
- xmlhttprequest.setRequestHeader('User-Agent','XMLHTTP');
-
-
- xmlhttprequest.send("user=goomoon&com=fantong");
-
- ul.innerHTML += "<li>status:" + xmlhttprequest.status + "</li>";
- ul.innerHTML += "<li>statusText:" + xmlhttprequest.statusText + "</li>";
- ul.innerHTML += "<li>return:" + xmlhttprequest.responseText + "</li>";
- }
寫完ajax方法以後,接下來就是定義了鏈接了:ajax
- <ul>
- <li>
- <a href="javascript:jsAjaxGet();">(GET)javascript ajax testing.</a>
- <ul id="jsajaxget"></ul>
- </li>
- <li>
- <a href="javascript:jsAjaxPost();">(POST)javascript ajax testing.</a>
- <ul id="jsajaxpost"></ul>
- </li>
- </ul>
提交的Url是struts2實現的action類,繼承自com.opensymphony.xwork2.ActionSupport,主要代碼以下:json
- public String javascript() throws IOException{
-
- HttpServletResponse response = ServletActionContext.getResponse();
- PrintWriter out = response.getWriter();
-
- out.print("com:"+com+",");
- out.print("user:"+user+",");
- out.print("the ajax testing is success");
- out.flush();
- out.close();
- return NONE;
- }
最後輸出結果圖爲:瀏覽器
轉載文章,感謝原博主:http://blog.csdn.net/lzkkevin/article/details/6777474。服務器