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 相关文章推荐
如果文字过长,则将过长的部分变成省略号显示
Jun 26 Javascript
javascript DOM编程实例(智播客学习)
Nov 23 Javascript
JSON 学习之JSON in JavaScript详细使用说明
Feb 23 Javascript
jQuery截取指定长度字符串的实现原理及代码
Jul 01 Javascript
node.js入门实例helloworld详解
Dec 23 Javascript
微信小程序实战之轮播图(3)
Apr 17 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
Jun 05 Javascript
小发现之浅谈location.search与location.hash的问题
Jun 23 Javascript
JS面试题大坑之隐式类型转换实例代码
Oct 14 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
Jan 21 Javascript
在vue项目中引入vue-beauty操作方法
Feb 11 Javascript
js实现橱窗展示效果
Jan 11 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
PHP统计二维数组元素个数的方法
2013/11/12 PHP
PHP打印输出函数汇总
2016/08/28 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
JS request函数 用来获取url参数
2010/05/17 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
2016/04/12 Javascript
javascript的BOM
2016/05/03 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
JS实现将链接生成二维码并转为图片的方法
2018/03/17 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
Python通过解析网页实现看报程序的方法
2014/08/04 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
Python基于递归算法求最小公倍数和最大公约数示例
2018/07/27 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
东方红海科技面试题软件测试方面
2012/02/08 面试题
主管职责范文
2013/11/09 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
作息时间调整通知
2015/04/22 职场文书
迎新年主持词
2015/07/06 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle