用基本的JS进行Ajax请求

之前在项目中使用ajax都是通过JQuery的Ajax API来进行的,今天试了一下通过基本的Javascript来进行ajax请求,将代码记录下来:

jsp 页面
[xhtml] view plain copy
  1. <%@ page pageEncoding="UTF-8"%>    
  2.     
  3. >    
  4. <html>    
  5.   <head>    
  6.     <title>Ajaxtitle>    
  7.     <script type="text/javascript" src="media/js/jquery.js" mce_src="media/js/jquery.js">script>    
  8.     <script type="text/javascript" src="media/ajax.js" mce_src="media/ajax.js">script>    
  9.   head>    
  10.       
  11.   <body>    
  12.     Ajax.jsp<br/>    
  13.     <div id="msg" style="background-color:#EEEEEE;width:400px;height:200px;margin:1em;padding:1em;border:1px solid #DD6900">    
  14.     啦啦啦    
  15.     div>    
  16.     <button id="start" style="margin:1em;border:1px solid #DD6900" mce_style="margin:1em;border:1px solid #DD6900">Start Ajaxbutton>    
  17.   body>    
  18. html>  
进行ajax请求的js 代码,可以附带一些json和xml数据(必须是post方法)
[javascript] view plain copy
  1. var xmlHttp;    
  2. function createXMLHttpRequest() {    
  3.     if (window.ActiveXObject) {    
  4.         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");    
  5.     }    
  6.     else if (window.XMLHttpRequest) {    
  7.         xmlHttp = new XMLHttpRequest();    
  8.     }    
  9. }    
  10. var okFunc = function(){    
  11.     if(xmlHttp.readyState == 4) {    
  12.         if(xmlHttp.status == 200) {    
  13.             $("#msg").html(xmlHttp.responseText);    
  14.         }    
  15.     }    
  16. }    
  17. var startAjax = function(){    
  18.     $("#msg").html("Loading...");    
  19.     createXMLHttpRequest();    
  20.     if( !xmlHttp){    
  21.         return alert('create failed');    
  22.     }    
  23.     xmlHttp.open("POST""Test"true);    
  24.     xmlHttp.onreadystatechange = okFunc;    
  25.     xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");    
  26.     xmlHttp.send(document);    
  27. }    
  28. $(document).ready(function(){    
  29.     $("#start").click(startAjax);    
  30.     $.post("Test",{'name':'Hello','age':22});    
  31. });  
 
在服务器端的Servlet:
java 代码
  1. package ajax;    
  2.     
  3. import java.io.BufferedReader;    
  4. import java.io.IOException;    
  5. import java.io.PrintWriter;    
  6.     
  7. import javax.servlet.ServletException;    
  8. import javax.servlet.http.HttpServlet;    
  9. import javax.servlet.http.HttpServletRequest;    
  10. import javax.servlet.http.HttpServletResponse;    
  11.     
  12. public class Test extends HttpServlet {    
  13.     public void doGet(HttpServletRequest request, HttpServletResponse response)    
  14.             throws ServletException, IOException {    
  15.         BufferedReader reader = request.getReader();    
  16.         String line = null;    
  17.         while((line = reader.readLine()) != null) {    
  18.             System.out.println(line);    
  19.         }    
  20.         System.out.println("Start writing");    
  21.         response.setContentType("text/html");    
  22.         PrintWriter out = response.getWriter();    
  23.         out.println(");    
  24.         out.flush();    
  25.         out.close();    
  26.     }    
  27.     
  28.     @Override    
  29.     protected void doPost(HttpServletRequest req, HttpServletResponse resp)    
  30.             throws ServletException, IOException {    
  31.         doGet(req, resp);    
  32.     }    
  33.         

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值