日期:2014-05-16  浏览次数:20603 次

jquery封装的ajax的请求

//页面的代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<script type="text/javascript" src="js/jquery-1.2.6.js"></script>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
 <script type="text/javascript">
 
  onload = function()
  {
   //1、这是用jquery的ajax的post请求
   //第一个参数是请求的路径,第二个参数是请求带有的参数,第三个是一个回调函数,回调函数的第一个参数是返回的数据,第二个参数是是否
   //请求成功并且返回了数据,这里的get请求与post请求的方式一样,只不过将get改成post即可,但是这里一定要注意,juqery的ajax的get、
   //post请求都会产生缓存,所以在后台一定要处理好缓存的问题,这种方式的请求的底层都是基于$.ajax
   $.post("test?p=test",{"name":"caohuan","age":12},function(data, status){
    //这是判断请求是否成功并且返回了数据
    if(status == 'success')
    {
     alert(data);
    }else
    {
     alert("ajax失败");
    }
   
   });
   //这种方式的请求的get和post的请求的方式差不多,只不过将post改成get就行了,还有一点值得注意,这种方式请求,我们不需要担心缓存的问题
   $.ajax({
    type:'post',//请求的方式
    url:'test?p=test',//请求的路径
    dateType:'html',//这句话必须要写上,因为对于火狐而言,必须要加上这句代码才能正常运行
    data:{'name':'caohuan','age':21},//请求带上的参数
    success:function(data){//请求成功返回的数据
     alert(data);
    }
   });
  }
 </script>
 
  </head>
 
  <body>
    This is my JSP page. <br>
  </body>
</html>

 

//后台的代码

package cn.itcast.servlets;


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AjaxTestServlet extends HttpServlet {
 
 @Override
 protected void service(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
   request.setCharacterEncoding("UTF-8");
   response.setContentType("text/html;charset=utf-8");
   //下面三句代码是处理缓存的问题
   response.setHeader("pragma", "no-cache");
   response.setHeader("cach