这篇文章讲的是jQuery里的ajax发送data的三种方式,利用ajax发送数据的好处是把数据发送到了servlet后,当前页面不进行跳转。

jQuery的里的ajax发送data的方式主要有三种,分别是json数组,url拼接和表单的序列化serialize,这里要配合servlet一起。

第一种:url拼接(下面内容顺序:jsp代码,servlet代码,实验图片)

jsp代码,命名:”a.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="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(function(){
var myClick=function(){
var mySuccess=function(result){
alert(result);
}
var myError=function(XMLHttpRequest,textstatus){
if(XMLHttpRequest.status==404){
alert("找不到页面404错误");
}
else if(XMLHttpRequest.status==500){
alert("服务器异常500错误");
}else{
alert("服务器出现异常,请稍后重试");
}
}
$.ajax({
//把数据发到哪里去
url:'A?content='+$("#content").val(),
//要调用servlet里的方法(doget或dopost)
type:'GET',
//返回的数据类型(可以没有)
dataType:'text',
//成功的话,调用函数
success:mySuccess,
//失败调用函数
error:myError,
//如果相应时间超过三秒就会出错
timeout:3000 });
}
$("#abc").click(myClick); }); </script>
<title>Insert title here</title>
</head>
<body>
<input id="content" type="text" value="This is content">
<input id="abc" type="button" value="click">
</body>
</html>

servlet代码,取名:A.java

package web;

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; @WebServlet("/A")
public class A extends HttpServlet {
private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String content = request.getParameter("content");
System.out.println(content);
PrintWriter out =response.getWriter();
//下面注释了的代码是让servlet停三秒在做出反应
/** try {
Thread.sleep(3000);
} catch (InterruptedException e) {
System.out.println("代码出错"+e.getMessage());
}*/
out.println(content); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
} }

效果图

第二方式:json

jsp代码(servlet代码可以用上面的),取名b.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="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(function(){
var myClick=function(){
var myData={ content : $("#content").val() }
var mySuccess=function(result){
alert(result);
}
var myError=function(XMLHttpRequest,textstatus){
if(XMLHttpRequest.status==404){
alert("找不到页面404错误");
}
else if(XMLHttpRequest.status==500){
alert("服务器异常500错误");
}else{
alert("服务器出现异常,请稍后重试");
}
}
$.ajax({
//把数据发到哪里去
url:'A',
//要调用servlet里的方法(doget或dopost)
type:'GET',
//数据
data:myData,
//返回的数据类型(可以没有)
dataType:'text',
//成功的话,调用函数
success:mySuccess,
//失败调用函数
error:myError,
//如果相应时间超过三秒就会出错
timeout:3000 });
}
$("#abc").click(myClick); }); </script>
<title>Insert title here</title>
</head>
<body>
<input id="content" type="text" value="This is content">
<input id="abc" type="button" value="click">
</body>
</html>

效果图

第三种:serialize序列化

jsp代码(servlet用上面的),取名:c.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="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(function(){
var myClick=function(){
var myData=$("#content").serialize();
var mySuccess=function(result){
alert(result);
}
var myError=function(XMLHttpRequest,textstatus){
if(XMLHttpRequest.status==404){
alert("找不到页面404错误");
}
else if(XMLHttpRequest.status==500){
alert("服务器异常500错误");
}else{
alert("服务器出现异常,请稍后重试");
}
}
$.ajax({
//把数据发到哪里去
url:'A',
//要调用servlet里的方法(doget或dopost)
type:'GET',
//数据
data:myData,
//返回的数据类型(可以没有)
dataType:'text',
//成功的话,调用函数
success:mySuccess,
//失败调用函数
error:myError,
//如果相应时间超过三秒就会出错
timeout:3000 });
}
$("#abc").click(myClick); }); </script>
<title>Insert title here</title>
</head>
<body>
<input id="content" type="text" value="This is content">
<input id="abc" type="button" value="click">
</body>
</html>

效果图

第一部分: http://www.cnblogs.com/memory9770/p/7236407.html

第二部分: http://www.cnblogs.com/memory9770/p/7237447.html

第三部分: http://www.cnblogs.com/memory9770/p/7237448.html

jQuery学习总结(三)的更多相关文章

  1. jquery学习笔记(三):事件和应用

    内容来自[汇智网]jquery学习课程 3.1 页面加载事件 在jQuery中页面加载事件是ready().ready()事件类似于就JavaScript中的onLoad()事件,但前者只要页面的DO ...

  2. Jquery学习(三)选择

    1.Jquery最重要的是选择. 学习要点:        1.简单选择器        2.进阶选择器        3.高级选择器 ①简单选择器. 最简单的也就是最经常使用的,最经常使用的一般也是 ...

  3. [jQuery学习系列三 ]3-JQuery学习二-字典操作

    前言:如果看过了第一篇和第二篇, 相信大家会对jQuery有个初步的认识了, 对于jQuery的选择器和数组的操作都已经很熟悉了, 这一篇就单独罗列jQuery中字典的操作相关的内容. 1. 数组中添 ...

  4. jQuery学习(三)

    jQuery文档操作方法 1.内部追加内容 选择器追加到内容 append(content)在当前jQuery对象内部所包含的DOM对象的内部的最后追加content对应的内容,其中content可以 ...

  5. jQuery学习笔记三

    使用fadeIn()js解释器会将所选元素的CSS opacity属性从0改为100,fadeTo()会动画显示所选元素,将它为改为某个特定的透明度百分比,使用fadeOut()js解释器会将所选元素 ...

  6. 初步学习jquery学习笔记(三)

    jQuery学习笔记三 jquery停止动画 stop函数的初步功能 <!DOCTYPE html> <html lang="en"> <head&g ...

  7. jQuery学习-事件之绑定事件(三)

    在上一篇<jQuery学习-事件之绑定事件(二)>我们了解了jQuery的dispatch方法,今天我们来学习下handlers 方法: handlers: function( event ...

  8. jQuery学习笔记(一)jQuery选择器

    目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...

  9. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  10. jQuery学习笔记(一):入门

      jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...

随机推荐

  1. JavaScript | 值传递、引用传递的区别

    值传递 JavaScript值传递的数据类型:字符串(String).数字(Number).布尔(Boolean).空(Null).未定义(Undefined), 这五种数据类型是按值访问的,因为可以 ...

  2. Docker容器Centos容器安装openssh

    前面在部署容器,使用docker容器作为jenkins的Slave节点时,会发现在使用centos作为镜像源拉去容器,不能正常连接,最后是因为centos的sshd的问题 下面专门是centos容器安 ...

  3. mysql 时间函数总结

    1. 获取当前时间   select now(); // 2018-08-24 11:01:26   select unix_timestamp(); // 1535079695   总结:unix_ ...

  4. vps批量管理,服务器批量管理,3389批量管理工具

    注册的第一天,把我的工具弄上来.如果有一个软件,如果你有vps虚拟机,服务器,3389中的任意一种两种或全部,而且还是批量的,需要管理.那么,你可能会想找个软件来管理吧,毕竟,一个人忙不过来管理这么多 ...

  5. 通用高效的数据修复方法:Row level repair

    导读:随着大数据的进一步发展,NoSQL 数据库系统迅速发展并得到了广泛的应用.其中,Apache Cassandra 是最广泛使用的数据库之一.对于 Cassandra 的优化是大家研究的热点,而 ...

  6. Mysql唯一索引线上故障记录

    问题现象: Mysql插入一条数据时,未指定自增键的值却报错:自增键重复,无法插入! 执行SQL INSERT INTO `test`.`test_sort`(`id`, `name`, `age`, ...

  7. zabbix安装和使用

    前言:zabbix是一款很好用的监控工具,相比nagios(也是监控工具的一种)而言,zabbix提供了强大的视图界面,操作简单,功能强大,只需在页面配置即可,让你用的开心,回家放心. zabbix监 ...

  8. c语言一道题

    C语言中,a=b=c,a=b==c,a==(b=c),a==(b==c)有什么区别 main(){inta=1,b=2,c=3;printf("%d,%d,%d,%d\n",a=b ...

  9. iOS多线程编程原理及实践

    摘要:iOS开发中,开发者不仅要做好iOS的内存管理,而且如果你的iOS涉及多线程,那你也必须了解iOS编程中对多线程的限制,iOS主线程的堆栈大小为1M,其它线程均为512KB,且这个限制开发者是无 ...

  10. Java类成员之属性

    属性含义:对应类中的成员变量. 语法格式:修饰符 数据类型 属性名 = 初始化值; 1.修饰符常用的有权限修饰符(private.default.protected.public) 以及其他修饰符(s ...