利用json和prototype来做用户是否正确的判断,传统的方式是提交后做判断,这里使用的是ajax异步传输的方式。
2008-08-05 16:38
1001 查看
利用json和prototype来做用户是否正确的判断,传统的方式是提交后做判断,这里使用的是ajax异步传输的方式。
所需文件
1.UserLogin_JSON.jsp (主要页面,在IE中基本中出现这个页面,其它的处理都在后台不可见)
2.check_login_user.jsp (这个做为判断用户名是否正确的文件,可以写成jsp,servlet,在struts2中就可以为一个action)
3.AjaxMessageJson.java (将java对象转成json数据格式,需要用到org.json,json-lib.jar)
4.js/prototype.js (这是js/prototype的库,网上随处可下)
5.json.js (用来解析得到的responseText,否则客户端得到的是html格式的文件)
1.UserLogin_JSON.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<head>
<title>用户登录测试json返回数据格式</title>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/comm.js"></script>
<script language="JavaScript" type="text/javascript">
<!--
var flagSubmit = false ;
function checkUserName() {
//var contextPath = "<%=request.getContextPath()%>";
var url = "check_login_user.jsp";
var pars = "username=" + $('username').value;
var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars,onLoading : loading,onFailure:reportError,onComplete: done});
}
function loading()
{
// alert('正在调用');
}
function done(res) {
resText = res.responseText;
alert(resText);
var jsonMsgObj = new JsonMsgObj(resText);
var message = jsonMsgObj.getMessage();
alert(message);
}
function reportError(request)
{
alert('Sorry. There was an error.');
}
</script>
</head>
<body>
<form action="sub.jsp" method="post" name="form1">
用户名:<input type="text" name="username""/><br>
<input type="button" name="button" value="" onclick="checkUserName()">
</form>
</body>
</html>
2.check_login_user.jsp //注释:注意不要出现任何html的标签,这里只做一个简单的判断,可以方便的扩充为数据库判断
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import=" com.shangyu.json.AjaxMessageJson"%>
<%
String username=request.getParameter("username");
//System.out.println("执行后台:"+username);
AjaxMessageJson ajaxMessagesJson=new AjaxMessageJson();
if(username.equals("fly"))
ajaxMessagesJson.setMessage("E_USERNAME_001", "用户名正确!");
else
ajaxMessagesJson.setMessage("E_USERNAME_001", "用户名不太正确!");
out.println(ajaxMessagesJson.getJsonString());
%>
3.AjaxMessageJson.java
package com.shangyu.json;
import org.json.*;
public class AjaxMessageJson {
private JSONObject json = new JSONObject();
public void setMessage(String codeid, String message) {
try {
this.json.put("codeid", codeid);
this.json.put("message", message);
this.json.put("text", "");
} catch (JSONException e) {
}
}
public void setMessage(String codeid, String message, String text) {
try {
this.json.put("codeid", codeid);
this.json.put("message", message);
this.json.put("text", text);
} catch (JSONException e) {
}
}
public String getJsonString() {
return this.json.toString();
}
}
当然如果仅仅只需要做一个用户名是否存在或正确的判断,完全可以不需要用到json来做数据格式的传输,直接利用html文本方式来就可以了。
但是如果要传输更为复杂一些的数据,则可以利用XML和json,但由于xml在客户端解析的复杂性,现在要实现ajax功能,普遍倾向于使用json
所需文件
1.UserLogin_JSON.jsp (主要页面,在IE中基本中出现这个页面,其它的处理都在后台不可见)
2.check_login_user.jsp (这个做为判断用户名是否正确的文件,可以写成jsp,servlet,在struts2中就可以为一个action)
3.AjaxMessageJson.java (将java对象转成json数据格式,需要用到org.json,json-lib.jar)
4.js/prototype.js (这是js/prototype的库,网上随处可下)
5.json.js (用来解析得到的responseText,否则客户端得到的是html格式的文件)
1.UserLogin_JSON.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<head>
<title>用户登录测试json返回数据格式</title>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/comm.js"></script>
<script language="JavaScript" type="text/javascript">
<!--
var flagSubmit = false ;
function checkUserName() {
//var contextPath = "<%=request.getContextPath()%>";
var url = "check_login_user.jsp";
var pars = "username=" + $('username').value;
var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars,onLoading : loading,onFailure:reportError,onComplete: done});
}
function loading()
{
// alert('正在调用');
}
function done(res) {
resText = res.responseText;
alert(resText);
var jsonMsgObj = new JsonMsgObj(resText);
var message = jsonMsgObj.getMessage();
alert(message);
}
function reportError(request)
{
alert('Sorry. There was an error.');
}
</script>
</head>
<body>
<form action="sub.jsp" method="post" name="form1">
用户名:<input type="text" name="username""/><br>
<input type="button" name="button" value="" onclick="checkUserName()">
</form>
</body>
</html>
2.check_login_user.jsp //注释:注意不要出现任何html的标签,这里只做一个简单的判断,可以方便的扩充为数据库判断
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import=" com.shangyu.json.AjaxMessageJson"%>
<%
String username=request.getParameter("username");
//System.out.println("执行后台:"+username);
AjaxMessageJson ajaxMessagesJson=new AjaxMessageJson();
if(username.equals("fly"))
ajaxMessagesJson.setMessage("E_USERNAME_001", "用户名正确!");
else
ajaxMessagesJson.setMessage("E_USERNAME_001", "用户名不太正确!");
out.println(ajaxMessagesJson.getJsonString());
%>
3.AjaxMessageJson.java
package com.shangyu.json;
import org.json.*;
public class AjaxMessageJson {
private JSONObject json = new JSONObject();
public void setMessage(String codeid, String message) {
try {
this.json.put("codeid", codeid);
this.json.put("message", message);
this.json.put("text", "");
} catch (JSONException e) {
}
}
public void setMessage(String codeid, String message, String text) {
try {
this.json.put("codeid", codeid);
this.json.put("message", message);
this.json.put("text", text);
} catch (JSONException e) {
}
}
public String getJsonString() {
return this.json.toString();
}
}
当然如果仅仅只需要做一个用户名是否存在或正确的判断,完全可以不需要用到json来做数据格式的传输,直接利用html文本方式来就可以了。
但是如果要传输更为复杂一些的数据,则可以利用XML和json,但由于xml在客户端解析的复杂性,现在要实现ajax功能,普遍倾向于使用json
相关文章推荐
- Js 中关于注册表单,使用onsubmit进行拦截提交,并判断用户填写的内容是否正确
- 牛腩购物11:完善用户注册 onblur 失去焦点 jquery ajax post方式使用 一般处理程序 判断用户是否存在 前台js的应用
- 1.用AJAX(使用dwr)来判断用户名是否可用,利用json返回值
- 利用JavaScript检查用户注册信息是否正确,在以下情况不满足时报错并阻止提交表单
- 利用HttpWebRequest以POST方式提交Json数据-后台实现不同平台间的数据传输
- 判断是否为移动浏览器;判断是否支持滑动事件;通过手势来改变图片大小;使用手机GPS定位用户所在的城市;利用浏览器的cookie保存用户名;
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- 在主函数中提示用户输入用户名和密码。另写一方法来判断用户输入是否正确。该方法分别返回一个bool类型的登录结果和和一个string类型的登录信息。如登录成功,返回true及“登录成功”,若登录失败则返回false及“用户名错误”或“密码错误”(使用out参数)
- Android学习之Http使用Post方式进行数据提交(普通数据和Json数据)
- 判断用户输入的数字是否为99,并将不是数字之和打印出来,巧妙使用break和continue。
- 采用基类的方式判断用户是否登录(2)
- 使用JavaScript判断用户输入的是否为正整数(两种方法)
- 使用ajax判断用户是否已经存在,并提示。
- 比较好的方式管理我们的应用判断,比如Activity跳转,网络是否连接,判断json....
- C#判断用户是否使用微信浏览器,并据此来显示真实内容或二维码
- 使用jquery+ajax方式实现用户注册时,检测用户名是否存在
- js使用数组判断提交数据是否存在相同数据
- js使用数组判断提交数据是否存在相同数据
- js使用数组判断提交数据是否存在相同数据
- 分享知识-快乐自己:SpringBoot结合使用拦截器(判断是否用户是否已登陆)