现在的位置: 首页 > 综合 > 正文

30分钟学会使用jQuery的Ajax功能<一>

2013年08月30日 ⁄ 综合 ⁄ 共 2553字 ⁄ 字号 评论关闭

下面的例子是用jQuer的Ajax功能的get方法,进行异步请求。

效果是:点击按钮,检查输入的username是否可用。

<一>下载个jquery.js,载项目名WebRoot下建个文件夹jQuery,把jquery.js放在这个文件夹下。

<二>建个jsp,里面代码如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="${pageContext.request.contextPath }/jQuery/jquery.js"></script>

<script type="text/javascript">
	// jQuery的$(function(){});  相当于js中的window.onload=function(){}
	$(function(){
		var btn = $("#btn");
		btn.click(function(){// 对按钮绑定
			var username = $("#name").attr("value");
			var password = $("#pwd").attr("value");
			
			var url = "${pageContext.request.contextPath }/servlet/JQueryAjaxGetServlet";
			// 使用jQuery的Ajax的方法,4个入参
			// 第一个入参:请求的url
			// 第二个入参:传递的参数以及值,
			// 第三个入参:回调函数
			// 第四个入参:返回来值的方法,此处写"text"意思是字符串
			$.get(url,{name:username,password:password},callback,"text");
		});
	});
	
	// 经过Servlet处理后返回的信息
	function callback(data){
		//这个data要么是Servlet里out.print()里的内容
		alert(data);
	}
	
</script>
<title>学习jQuery的ajax的Get方法</title>
</head>
<body>
	<center>
		<form action="" method="get">
			username:<input type="text" size="25" value="" id="name"/><input type="button" value="检查是否被占用" id="btn"/>
			<br />
			<br /><br />
			password:<input type="password" size="25" value="" id="pwd"/>
			<br /><br />
		</form>
	</center>
</body>
</html>

<三>在WEB-INF下得web.xml配置

 

<servlet>
  	<servlet-name>jqueryAjaxGetServlet</servlet-name>
  	<servlet-class>com.web.ajax.JQueryAjaxGetServlet</servlet-class>
  </servlet>
   <servlet-mapping>
  	<servlet-name>jqueryAjaxGetServlet</servlet-name>
  	<url-pattern>/servlet/JQueryAjaxGetServlet</url-pattern>
  </servlet-mapping>

<4>:写Servlet,Servlet代码如下

package com.web.ajax;

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 JQueryAjaxGetServlet 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("Cache-Control", "no-cache");
		PrintWriter out = response.getWriter();
		
		String username = request.getParameter("name");
		String password =request.getParameter("password");
		
		if("zhangsan".equals(username)){
			//此处是out.print不是out.println
			out.print("不可用");//out.print()里的内容将会输出到jsp页面中callback函数里
		}else{
			out.print("可以使用");
		}
		out.flush();
		out.close();
	}
}

 

运行下,可以看看效果。

jQuery的Ajax中post方法和get方法极为相似,只需把jsp中的

 $.get()换成$.post()就OK了

 

抱歉!评论已关闭.