时间:2021-02-10 14:51:51 | 栏目:jquery | 点击:次
一:
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
什么是 AJAX ?
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。
二:传统的Ajax过于繁琐,jquer封装了一些ajax常用的简单函数。
a: $.ajax()方法:
jsp页面代码 :
<head> <title>Ajax验证</title> <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> <script type="text/javascript"> $(function () { $("[name='userName']").blur(function () { $.ajax({ type: "post", url: "/TestServlet", data:{action:"login"}, //data 传递的参数一般都是key:“ value” 类型的 value一定要加引号 我亲身体验 那种找不到错的感觉 // dataType:'Text', //servers 返回的格式 也可以是gjon success: function (data) { if (data == "success") { alert(data); $("#myspan").html(data); } }, error: function () { //这个用的比较少 } }) }) }) </script> </head> <body> 姓名: <input name="userName" type="text"><span id="myspan"></span> 密码: <input name="password" type="text"> </body>
servlet后台代码:
public class TestServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("action"); System.out.println(name); if(name.equals("login")){ response.getWriter().write("success"); //返回回掉函数的参数 }else{ response.getWriter().write("file"); } }
b:$.get() , $.post()和 $.getJson方法都是$.ajax()方法的精简版,用法大致一致,少了一个type
$.post("/TestServlet", {"uname":$('[name=uname]').val()}, function (data) { alert(data); });
c: $.load()
$("#msg").load( //可以直接拿到文本框 的值 "/TestServlet","action="+$('[name="userName"]').val() ); //后台可以直接 根据request.getParameter()拿到参数的值
d:$(selector).serializeArray() 和$(selector).serialize()
//这种方法 可以直接 获得form表单的name属性值,作为data的传参 var data1 = $("#form1").serializeArray(); //自动将form表单封装成json $.each(data1,function (i,dom) { alert(dom.name+"\r\n"+dom.value); }); var data2=$("#form1").serialize(); alert(data2);
e:作为data参数
var data2=$("#form1").serialize(); $.getJSON("/TestServlet",data2, function (data) { alert(data); });