Ajax发送GET和POST的处理

ajax

 业务逻辑:页面三个文本框,分别要求输入姓,中间名和生日。两个按钮处理GET和POST请求,显示输入的结果。
    页面:getAndPostExample.html

  <%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
用GET和POST发送页面请求
</title>
<script type="text/javascript">
 //xmlHttpRequest对象
 var xmlHttp;

        //创建xmlHttpRequest对象
        function createXMLHttpRequest(){
         if (window.ActiveXObject){
          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                else if(window.XMLHttpRequest){
                 xmlHttp = new XMLHttpRequest();
                }
        }
       
        //发送参数字符串
        function createQueryString(){
         //得到姓
                var firstName = document.getElementById("firstName").value;
                //得到中间名
                var middleName = document.getElementById("middleName").value;
                //得到生日
                var birthday = document.getElementById("birthday").value;
               
                //构造请求字符串
                var quertString = "firstName=" + firstName + "&middleName=" + middleName
                 + "&birthday=" + birthday;
               
                return quertString;
        }
       
        //处理GET请求
        function doRequestUsingGET(){
         createXMLHttpRequest();
               
                var queryString = "GetAndPostExample?";
                queryString = queryString + createQueryString() + "&timeStamp=" + new Date().getTime();
                xmlHttp.onreadystatechange = handleStateChange;
                xmlHttp.open("GET",queryString,true);
                xmlHttp.send(null);
        }
       
        //处理POST请求
        function doRequestUsingPOST(){
         createXMLHttpRequest();
               
                var url = "GetAndPostExample?timeStamp=" + new Date().getTime();
                var queryString = createQueryString();
               
                xmlHttp.open("POST",url,true);
                xmlHttp.onreadystatechange = handleStateChange;
                xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
                xmlHttp.send(queryString);
        }
       
        //回调方法
        function handleStateChange(){
         if (xmlHttp.readyState == 4){
          if (xmlHttp.status == 200){
                           //解析返回结果
           parseResults();
                        }
                }
        }
       
        //解析返回结果
        function parseResults(){
          var responseDiv = document.getElementById("serverResponse");
          if (responseDiv.hasChildNodes()){
           responseDiv.removeChild(responseDiv.childNodes[0]);
          }
          //返回文本构造一个文本节点
          var responseText = document.createTextNode(xmlHttp.responseText);
          responseDiv.appendChild(responseText);
        }
</script>
</head>
<body>
<h1>
输入你的姓,中间名,和生日:
</h1>
<table>
  <tbody>
   <tr>
            <td>姓:</td>
            <td><input type="text" id="firstName"/>
   </tr>
        <tr>
            <td>中间名:</td>
            <td><input type="text" id="middleName"/>
   </tr>
          <tr>
            <td>生日:</td>
            <td><input type="text" id="birthday"/>
   </tr>
  </tbody>
</table>

<form action="#">
  <input type="button" value="发送GET请求" />
  <br /><br />
 
  <input type="button" value="发送POST请求" />
</form>

<br />
<h2>
  服务器响应:
</h2>
<div id="serverResponse">
</div>
</body>
</html>

服务器端处理

GetAndPostExample.java

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class GetAndPostExample
    extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html; charset=GBK";

  //处理方法
  protected void processRequest(HttpServletRequest request,
                                HttpServletResponse response, String method) throws
      ServletException, IOException {
    //设置响应内容类别
    response.setContentType(CONTENT_TYPE);

    //得到参数
    String firstName = request.getParameter("firstName");
    String middleName = request.getParameter("middleName");
    String birthday = request.getParameter("birthday");
   
    //创建响应文本
    String responseText = "您好 " + firstName + " " + middleName + ". 您的生日是" + birthday
        + "." + " [传参方法: " + method + "]";
   
    //传回浏览器
    PrintWriter out = response.getWriter();
    out.println(responseText);
   
    //关闭写出流
    out.close();
  }

  //Initialize global variables
  public void init() throws ServletException {
  }

  //处理GET方法
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
    processRequest(request,response,"GET");
  }
 
  //处理POST方法
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
    processRequest(request,response,"POST");
  }

  //Clean up resources
  public void destroy() {
  }
}

参考:Ajax基础教程    当笔记吧 

时间: 2024-10-31 08:12:56

Ajax发送GET和POST的处理的相关文章

jsp+ajax发送GET请求的方法

 本文实例讲述了ajax发送GET请求,然后通过jsp页面来接收处理的实现方法.分享给大家供大家参考.具体实现方法如下: Ajax发送GET请求 这里用一个实例演示Ajax发送get请求,实例具体要求为一个注册页面,当用户填写完用户名称时,该输入框失去焦点后会通过Ajax向后台发送验证信息,如果用户名不是admin则通过验证,否则不通过验证. 下面先看JSP页面具体信息: 代码如下: <form action="servlet/LoginServlet" method="

图片-ajax发送的数据,后台如何接收并且解析?

问题描述 ajax发送的数据,后台如何接收并且解析? 按照我这么写的话不对,打印出来的也没有地址,只是一个null 如何解析,希望大神们帮帮忙. 解决方案 ajax向后台发送数组数据ajax 获取后台数据显示listajax发送json,后台取得数据 解决方案二: 怎么没看见你的ajax:用data:{"realData":data};后台也要有值去接收,变量名为realData;如果不懂ajax可以参考:http://blog.csdn.net/qq_19558705/article

后台如何接收ajax发送的array对象?

问题描述 后台如何接收ajax发送的array对象? $.ajax({ url:'xxxxxx.XXXXX', type:'post', dataType : "json", timeout : 30000, cache:false, data:{ data: arrData//这里的data在后台如何接收 }, public void faBu(@Param("data")List<Object> list,@Param("sortNum&q

chrome-谷歌浏览器,ajax发送下载请求速度是否有限制?

问题描述 谷歌浏览器,ajax发送下载请求速度是否有限制? 如图,getFile方法请求下载266Mb的文件(部署在本地IIS上的网站下载本地文件)耗时22秒左右,大概下载速度为12Mb/s,为何本地文件下载还这么慢,求问有什么方法可以提高本地或者局域网的文件下载速度呢? 解决方案 你的网卡如果是100M的网卡,那么理论最高速度是12.5MB/s(100 / 8=12.5)另外,如果你使用的是机械硬盘,那么理论最高传输率应该相当于机械硬盘传输率的1/2还要低,不过现代机械硬盘的持续传输率可以超过

四步轻松实现ajax发送异步请求

ajax发送异步请求,供大家参考,具体内容如下 第一步(得到XMLHttpRequest) ajax其实只需要学习一个对象:XMLHttpRequest,如果掌握了它,就掌握了ajax!!! 1.得到XMLHttpRequest 大多数浏览器都支持:var xmlHttp=new XMLHttpRequest(); IE6.0:var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); IE5.0以更早版本的IE:var xmlHttp=new A

点击发布按钮,如何用ajax发送这些数据到后台,希望有源码

问题描述 点击发布按钮,如何用ajax发送这些数据到后台,希望有源码 mg.ask.csdn.net/upload/201512/10/1449737844_583917.png) 如何点击发布使用ajax发送到后台这么多数据,我只能发送一行的数据,所有行的要怎么发,后台要如何接收 //第一行数据 var _tr = $("tbody tr:eq(0)"); var sortNum = _tr.children().eq(0).text(); var photoId = _tr.chi

springmvc-关于Ajax发送请求的问题

问题描述 关于Ajax发送请求的问题 发送ajax请求,响应406 后台用springMVC3.0,注解配置@ReponseBody返回json数据. 前台用了Extjs,刚开始用火狐浏览器测试,一直都OK.今天突然想起来用IE来测, 结果就出现了这个问题,然后又用GOOGLE,也是如此. 后来写了个测试页面,用jquery来发,发现也是一样的情况.火狐ok,IE和GOOELE:406 之后在controller里,取消@ResponseBody注解, 直接用response设置setconte

加密-关于jQuery的.ajax发送的数据问题

问题描述 关于jQuery的.ajax发送的数据问题 $.ajax({ url:"__URL__/passEdit", type:"POST", data: "password='"+pass+"'&id='"+id+"'", dataType:"text", async:true, success:function(res){ if(res=="Y"){ a

ajax发送请求到后台,后台更具请求参数重新绑定repeater数据源__[无效]

问题描述 第一次进入页面的时候,默认绑定了所有的数据,点击页面分类时,ajax发送请求到后台,后台更具请求参数重新绑定repeater数据源,但是页面显示内容仍然不变.页面:$.ajax({url:"<%=Request.FilePath%>?do=getPsByPTName&studentName="+studentName,cache:false,async:false,success:function(msg){}});后台stringdoss=Request

异步-ajax发送了多少次请求

问题描述 ajax发送了多少次请求 百度地图中应用了ajax的异步刷新,那么当我不断加载地图,ajax一共发送了多少次请求? 解决方案 用chrome.ie等自带的调试工具,或者用fiddler看下.不过可以告诉你的是,发送了很多很多次. 解决方案二: 如果一次能全部接收到所有数据的话,就是一次,如果需要定位出好多个点的话,应该是好多次 解决方案三: 如果参数没有变化的话,是不是会使用缓存呢?还有, 百度地图接口调用有没有次数限制呢? 解决方案四: 你的位置变化可能作为参数通过ajax对象传到服