jQueryAjax学习心得

jQueryAjax使用起来非常方便,简单易用,整理了一些内容和大家分享一下:

页面代码:

  <body>
    <form action="oneServlet" method="post" id="form">
    	姓名:<input type="text" name="name" /><br/>
    	年龄:<input type="text" name="age" /><br/>
    </form>
    <input type="button" value="提交" id="load" />
    <div id="show"></div>
  </body>

后台代码:

package com.zb.servlet;


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 OneServlet extends HttpServlet {

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		String name = request.getParameter("name");
		String age = request.getParameter("age");
		PrintWriter out = response.getWriter();
		out.print("您的姓名是:"+name+";今年"+age+"岁;");
		out.flush();
		out.close();
	}
	
}

1.使用load实现Ajax:

<script type="text/javascript">
  	$("#load").click(function(){
  		$("#show").load("oneServlet",$("#form").serializeArray());
  	});
  </script>

2.使用$.ajax({})实现Ajax:

<script type="text/javascript">
	$("#load").click(function(){
		$.ajax({url:"oneServlet",data:$("#form").serializeArray()})
		.done(function(data,statusText){
			$("#show").empty;
			$("#show").append("服务器响应状态:"+statusText);
			$("#show").append(data);
		})
		.fail(function(){
			alert("响应失败");
		})
	});
  </script>

这两种方式都可以简单的将后台响应内容在<div id="show"></div>中显示出来,只是load方法无需指定回调函数;

记得刚开始用jQueryAjax的时候代码是这样写的:

<script type="text/javascript">
	$("#load").click(function(){
		$.ajax({
			url:"oneServlet",
			data:$("#form").serializeArray(),
			success:function(msg){...},
			error:function(){...}
		})
	});
  </script>

需要指定success和error属性来执行调用成功或调用失败的函数,而从jQuery1.5开始,$.ajax()方法返回的是一个叫Deferred的对象,可以通过done()方法来执行调用成功的函数,通过fail()方法来执行调用失败的函数,这两种方式其实同样都能实现想要的效果,不过就如同jQuery封装DOM对象给我们操作一样,Deferred对象也是经过封装的,统一处理回调函数的对象而已.喜欢用哪种还是仁者见仁智者见智.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值