jQuery-AJAX
来源:互联网 发布:java魔法门2手机版攻略 编辑:程序博客网 时间:2024/05/23 16:45
一.serialize() 与 serializeArray()
1..serialize() 方法使用标准的 URL-encoded 符号上建立一个文本字符串. 它可以对一个代表一组表单元素的 jQuery 对象进行操作,比如
注意: 只有 “successful controls”可以被序列化成字符串。其中,提交按钮的值不会被序列化。另外,如果想要一个表单元素的值被序列化成字符串,这个元素必须含有 name 属性。此外,复选框(checkbox)和单选按钮(radio)(input 类型为 “radio” 或 “checkbox”)的值只有在被选中时才会被序列化。另外,文件选择元素的数据也不会被序列化。
2..serializeArray() 方法和serialize()方法类似,只不过它创建了一个对象组成的javascript数组,用来编码成一个JSON一样的字符串。 它对表单 和/或 表单控件的 jQuery 集合起作用。
二. jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求
url (String) : 发送请求的URL地址.data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。type (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)
示例:
package com.lyf.control;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;/** * Created by fangjiejie on 2017/4/29. */@WebServlet( name="FormControl",urlPatterns = {"/form"})public class FormControl extends HttpServlet{ private String []name={"zhangsan","lisi","fangfang","haha","enen"};; @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username=req.getParameter("username"); String password=req.getParameter("password"); String flag="false"; for(String n:name){ if(username.equals(n)){ flag="true"; } } resp.setContentType("text/html"); resp.setCharacterEncoding("utf-8"); PrintWriter out=resp.getWriter(); out.print(flag); out.flush(); out.close(); System.out.println(username+":"+password); }}
<%-- Created by IntelliJ IDEA. User: fangjiejie Date: 2017/4/29 Time: 11:14 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html> <head> <title>$Title$</title> <script src="js/jquery-1.11.0.js"></script> <script> $(function(){ $("#btn").click(function(){ var data=$("#form").serialize(); //var data=$("#form").serializeArray();得到的是数组 $.post("form",data,function (txt) { if(txt.indexOf("true")!=-1){ alert("用户名已存在,请重新输入"); }else{ alert("恭喜您,请继续注册"); } },"text") }) }) </script> </head> <body> <form action="" id="form"> 用户名:<input type="text" name="username" id="un"><br> 密码:<input type="text" name="password" id="pw"><br> <input type="button" value="验证" id="btn"> <div id="msg"></div> </form> </body></html>
三. jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求
url (String) : 发送请求的URL地址.data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示,会做为QueryString附加到请求URL中。callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。
四. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中。
url (String) : 请求的HTML页的URL地址。data (Map) : (可选参数) 发送至服务器的 key/value 数据。callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。这个方法默认使用 GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。这个方法可以很方便的动态加载一些HTML文件,例如表单。
五.jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据
这个是jQuery 的底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。参数列表:
示例代码:
这里我们借助JSON解析,所以要引入
package com.lyf.control;import com.alibaba.fastjson.JSON;import com.lyf.vo.Book;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;/** * Created by fangjiejie on 2017/4/29. */@WebServlet( name="bookControl",urlPatterns = {"/book"})public class BookControl extends HttpServlet{ @Override public void init() throws ServletException { super.init(); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String id=req.getParameter("id"); Book book=null; switch (id){ case "1": book=new Book("img/1.jpg",100,"远行"); break; case "2": book=new Book("img/2.jpg",200,"境界"); break; case "3": book=new Book("img/3.jpg",300,"萌萌哒"); break; default:book=null; } String json= JSON.toJSONString(book,true); resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html"); System.out.println(json); PrintWriter out=resp.getWriter(); out.write(json); out.flush(); out.close(); }}
<%-- Created by IntelliJ IDEA. User: fangjiejie Date: 2017/4/29 Time: 12:40 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title> <script src="js/jquery-1.11.0.js"></script> <script> $(function(){ $("a").mouseover(function(){ var data=$(this).attr("index"); //alert(data); $.ajax({ url:"book", data:"id="+data,//必须以键值对的形式输送 type:"post",//前段向后端发出的请求方法类型 dataType:"html json",//后端向前端发出的数据类型 success:function(txt){//成功后的回调函数 $("#pic").attr("src",txt.pic); $("#price").html(txt.price); $("#describ").html(txt.describe); } }) var x=event.clientX; var y=event.clientY; $("#tip").css("left",x+10).css("top",y+10).css("display","block"); }) }) </script></head><body><ul> <li><a href="" index="1">bookA</a></li> <li><a href="" index="2">bookB</a></li> <li><a href="" index="3">bookC</a></li></ul><div style="width:100px; height: 100px;display: none;position: absolute" id="tip" > <img src="" alt="" id="pic" width="80" height="80"> <span id="price"></span> <span id="describ"></span></div></div></body></html>
效果:
当然还有其他方法这里就先不做赘述了,只介绍常用方法
- jquery ajax
- jquery ajax
- AJAX jquery
- ajax jquery
- AJAX + jQuery
- jquery.ajax
- Jquery Ajax
- jquery ajax
- Jquery+ajax
- jquery ajax
- jquery ajax
- jquery ajax
- jQuery ajax
- JQuery ajax
- jquery ajax
- jquery ajax
- jQuery Ajax
- Jquery ajax
- spring boot项目打包成war并在tomcat上运行的步骤
- 使用osChina的git方式管理项目
- SpringBoot实战 之 外部配置篇
- 拓扑排序
- :before与::before的区别
- jQuery-AJAX
- VS2015 X64+OpenCV3.2.0+opencv_contirb CMake3.8.0编译
- 各消息队列对比,Kafka深度解析
- 图解Linux命令之--ulimit命令
- 《视觉SLAM十四讲》书籍图片资源
- vs2015 的key
- Ubuntu16.04 怎样下载deb的源码包
- react native组件封装及传值
- eclipse创建maven依赖的web3.0项目