jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路


Posted in Javascript onApril 08, 2013

       jQuery是时下比较流行的一个js库,能够用简单的代码做出理想的效果,就像官网上说的那样“write less ,do more”。Jquery在一定程度上改写了以往对JavaScript的写法,本人就用jquery实现上篇中用ajax实现异步通信的效果,感受一下jquery的魅力。

     首先你需要下载jquery的最新的js文件,并将其引入到文件中,你也可以在此下载:点我下载。

     这次通信用的是jquery的jQuery.post(url,[data][callback],[type])方法,这是一个简单的POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。参数为:url,[data],[callback],[type] 相对应的参数类型为String,Map,Function,String:

     ●url:发送请求地址。

     ●data:待发送 Key/value参数。

     ●callback:发送成功时回调函数。

     ●type:返回内容格式,xml,html, script, json, text, _default)

     新建一个jsp文件jqueryDemo.jsp,代码如下所示:

<%@ page language="java"contentType="text/html; charset=GB18030" 
pageEncoding="GB18030"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type"content="text/html; charset=GB18030"> 
<title>jquery</title> 
<style type="text/css"> 
table.demo{border-collapse: collapse;margin-top: 50px;margin-left: 220px;} 
table.demo th,td {padding: 0; border: 1px solid #000;} 
#img,#msg{position: static;float: left;} 
#account,#password1,#password2{margin-left: 10px;} 
#img{margin-left: 10px;} 
</style> 
<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"></script> 
<script type="text/javascript"> 
function accountCheck(){ 
var account=$('#account').val(); 
if(account==""){ 
alert("用户帐号不能为空!"); 
$('#img').html(""); 
$('#msg').text(""); 
return; 
} 
$.post('JqueryServlet',{strAccount:account},function(data){ 
eval("data="+data); 
if(data.success){ 
$('#img').html("<img src='img/cross.png'/>"); 
}else{ 
$('#img').html("<img src='img/tick.png'/>"); 
} 
$('#msg').text(data.msg); 
}); 
} 
</script> 
</head> 
<body> 
<form action=""method="post" > 
<table class="demo" style="width: 450px;height: 200px;"> 
<tr> 
<td colspan=3 align=center>新用户注册</td> 
</tr> 
<tr> 
<td style="width:90px; ">用户帐号:</td> 
<td style="width:185px; "><input type="text"id="account" name="account"onblur="accountCheck();"><font color=red>*</font></td> 
<td style="width:175px; "> 
<div id="img" class="img"></div> 
<div id="msg"class="msg"></div> 
</td> 
</tr> 
<tr> 
<td>用户密码:</td> 
<td><input type="password"id="password1" name="password1"></td> 
<td></td> 
</tr> 
<tr> 
<td>重复密码:</td> 
<td><input type="password"id="password2" name="password2"></td> 
<td></td> 
</tr> 
<tr> 
<td colspan=3 align=center><input type="submit"value="注册"></td> 
</tr> 
</table> 
</form> 
</body> 
</html>

     新建一个servlet文件JqueryServlet.java,代码如下所示:

package com.ldfsoft.servlet; 
import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
importjavax.servlet.http.HttpServletRequest; 
importjavax.servlet.http.HttpServletResponse; 
/** 
*Servlet implementation class JqueryServlet 
*/ 
public class JqueryServlet extendsHttpServlet { 
privatestatic final long serialVersionUID = 1L; 
/** 
* @see HttpServlet#HttpServlet() 
*/ 
public JqueryServlet() { 
super(); 
// TODO Auto-generated constructor stub 
} 
/** 
* @see HttpServlet#service(HttpServletRequestrequest, HttpServletResponse response) 
*/ 
protectedvoid service(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException { 
//TODO Auto-generated method stub 
request.setCharacterEncoding("utf-8"); 
response.setContentType("text/html;charset=utf-8"); 
String account=request.getParameter("strAccount"); 
PrintWriter out=response.getWriter(); 
String str=""; //用以json传值 
if(account.equals("admin")){ 
str="{success:true,msg:'该账户已存在'}"; 
}else{ 
str="{success:false,msg:'该账户可以使用'}"; 
} 
out.write(str); 
} 
}

     好了,现在可以运行了,打开服务器,运行此jsp文件,页面如下所示:

jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路

    当输入admin时,页面如下所示:

jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路

     当输入其他的字符时,页面如下所示:

jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路

     可以看出jquery能够实现ajax的功能,并且代码更简洁了。

     只是,最后本人有一个问题迟迟没有解决,那就是输入中文时传到后台的值乱码,按照网上的好多办法都没有解决掉,不知道为什么,谁有更好的方法希望能给我推荐一下,本人不胜感激。

      这是本人学习的结果,允许转载,欢迎交流,但转载务必给出本文章的链接地址

Javascript 相关文章推荐
JQuery 1.4 中的Ajax问题
Jan 23 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
Nov 09 Javascript
判断多个input type=file是否有已经选择好文件的代码
May 23 Javascript
JavaScript 盒模型 尺寸深入理解
Dec 31 Javascript
简单的ajax连接库分享(不用jquery的ajax)
Jan 19 Javascript
jQuery中innerWidth()方法用法实例
Jan 19 Javascript
15款jQuery分布引导插件分享
Feb 04 Javascript
jQuery插件expander实现图片翻转特效
May 21 Javascript
JS控制按钮10秒钟后可用的方法
Dec 22 Javascript
Bootstrap免费字体和图标网站(值得收藏)
Mar 16 Javascript
Vuejs开发环境搭建及热更新【推荐】
Sep 07 Javascript
linux服务器快速卸载安装node环境(简单上手)
Feb 22 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
Apr 08 #Javascript
Jquery图片滚动与幻灯片的实例代码
Apr 08 #Javascript
Js动态添加复选框Checkbox的实例方法
Apr 08 #Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 #Javascript
JS继承--原型链继承和类式继承
Apr 08 #Javascript
原生js实现shift/ctrl/alt按键的获取
Apr 08 #Javascript
原生js实现跨浏览器获取鼠标按键的值
Apr 08 #Javascript
You might like
一个自定义位数的php多用户计数器代码
2007/03/11 PHP
php 动态添加记录
2009/03/10 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
js写的评论分页(还不错)
2013/12/23 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
Vue实现按钮旋转和移动位置的实例代码
2018/08/09 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
python利用thrift服务读取hbase数据的方法
2018/12/27 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
python实现最大优先队列
2019/08/29 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
大学生职业生涯规划书模板
2014/01/18 职场文书
2014年公司庆元旦活动方案
2014/03/05 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
初三毕业感言
2015/07/31 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫