jQuery学习总结(三)
这篇文章讲的是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学习总结(三)的更多相关文章
- jquery学习笔记(三):事件和应用
内容来自[汇智网]jquery学习课程 3.1 页面加载事件 在jQuery中页面加载事件是ready().ready()事件类似于就JavaScript中的onLoad()事件,但前者只要页面的DO ...
- Jquery学习(三)选择
1.Jquery最重要的是选择. 学习要点: 1.简单选择器 2.进阶选择器 3.高级选择器 ①简单选择器. 最简单的也就是最经常使用的,最经常使用的一般也是 ...
- [jQuery学习系列三 ]3-JQuery学习二-字典操作
前言:如果看过了第一篇和第二篇, 相信大家会对jQuery有个初步的认识了, 对于jQuery的选择器和数组的操作都已经很熟悉了, 这一篇就单独罗列jQuery中字典的操作相关的内容. 1. 数组中添 ...
- jQuery学习(三)
jQuery文档操作方法 1.内部追加内容 选择器追加到内容 append(content)在当前jQuery对象内部所包含的DOM对象的内部的最后追加content对应的内容,其中content可以 ...
- jQuery学习笔记三
使用fadeIn()js解释器会将所选元素的CSS opacity属性从0改为100,fadeTo()会动画显示所选元素,将它为改为某个特定的透明度百分比,使用fadeOut()js解释器会将所选元素 ...
- 初步学习jquery学习笔记(三)
jQuery学习笔记三 jquery停止动画 stop函数的初步功能 <!DOCTYPE html> <html lang="en"> <head&g ...
- jQuery学习-事件之绑定事件(三)
在上一篇<jQuery学习-事件之绑定事件(二)>我们了解了jQuery的dispatch方法,今天我们来学习下handlers 方法: handlers: function( event ...
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
- jQuery 学习笔记
jQuery 学习笔记 一.jQuery概述 宗旨: Write Less, Do More. 基础知识: 1.符号$代替document.getElementById( ...
- jQuery学习笔记(一):入门
jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...
随机推荐
- Java 学习笔记(14)—— 文件操作
java文件操作主要封装在Java.io.File中,而文件读写一般采用的是流的方式,Java流封装在 java.io 包中.Java中流可以理解为一个有序的字符序列,从一端导向到另一端.建立了一个流 ...
- springmvc整合freemarker教程(转)
1.介绍 我最近喜欢freemarker在网上找了大半天.都没有找到一个简单又容易理解的案例.虽然只是一个模板技术.但是相对刚开始什么都不知道的,很难入手.下面是自学(其实是谷歌和百度的东找西补).写 ...
- WebGPU学习(十):介绍“GPU实现粒子效果”
大家好,本文介绍了"GPU实现粒子效果"的基本思想,并推荐了相应的学习资料. 本文学习webgpu-samplers->computeBoids示例,它展示了如何用compu ...
- Appium中使用相对路径定位元素Xpath
1.若页面该元素没有ID 2.找出该元素父类,并拷贝出父类的class(类名)和ID 3.点击搜索图标,进行查找 selector内容://android.widget.LinearLayout[@r ...
- MyBatis使用mapper动态代理实现DAO接口
工具: mysql 5.5.62 IDEA 参考自:https://www.cnblogs.com/best/p/5688040.html 遇到的问题: 无法读取src/main/java下配置文 ...
- 【题解】P3645 [APIO2015]雅加达的摩天楼(分层图最短路)
[题解]P3645 [APIO2015]雅加达的摩天楼(分层图最短路) 感觉分层图是个很灵活的东西 直接连边的话,边数是\(O(n^2)\)的过不去 然而我们有一个优化的办法,可以建一个新图\(G=( ...
- 洛谷$P2598\ [ZJOI2009]$狼和羊的故事 网络流
正解:网络流 解题报告: 传送门! 昂显然考虑最小割鸭$QwQ$,就考虑说每个土地要么属于羊要么属于狼,然后如果一条边上是栅栏一定是相邻两边所属不同. 所以考虑给所有羊向$S$连$inf$,所有狼向$ ...
- .NET Core 3.1之深入源码理解HealthCheck(二)
写在前面 前文讨论了HealthCheck的理论部分,本文将讨论有关HealthCheck的应用内容. 可以监视内存.磁盘和其他物理服务器资源的使用情况来了解是否处于正常状态. 运行状况检查可以测试应 ...
- Python3-Selenium自动化测试框架(二)之selenium使用和元素定位
Selenium自动化测试框架(二)之selenium使用和元素定位 (一)selenium的简单使用 1.导包 from selenium import webdriver 2.初始化浏览器 # 驱 ...
- 使用SqlDependency实时监听SQL server数据库变化并执行事件
sql server设置:ALTER DATABASE <DatabaseName> SET ENABLE_BROKER;语句让相应的数据库启用监听服务,以便支持SqlDependency ...