资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Ajax如何实现带有验证码的局部刷新登录界面

这篇文章给大家分享的是有关Ajax如何实现带有验证码的局部刷新登录界面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

10多年的曲阜网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整曲阜建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“曲阜网站设计”,“曲阜网站推广”以来,每个客户项目都认真落实执行。

运行界面:

Ajax如何实现带有验证码的局部刷新登录界面

1.验证码后台访问部分上一篇博客已经介绍多了,这里介绍如何利用img中src实现局部刷新验证码的功能。

html部分:

验证码:     看不清楚,换一张

js部分:


function getPic(){ 
$("#codePic").attr("src","http://127.0.0.1:8888/TP/codePic?flag="+Math.random()); 
};

这部分最重要的就是 $("#codePic").attr("src","http://127.0.0.1:8888/TP/codePic?flag="+Math.random()); 这部分的代码。如果不加flag="+Math.random()是实现不了局部刷新的功能的。因为src中如果每次访问的地址一样的话就会发生不更新的情况。具体为什么会发生这种情况大家可以自己去研究。而codePic其实是一个action。这个action的功能是利用java画笔画出验证码并打包成图片返回给img中的src。

2.利用bootstrap中的modal实现对话框的功能。因为登录提交前需要验证用户名或密码是否为空等判断,如果出现错误就需要弹出对话框提示用户。这里验证部分用js实现,对话框部分用bootstrap的modal实现。

html对话框部分:





×Close
亲,您好

我知道了

js验证部分:


function dialog(){ 
$("#mymodal").modal("toggle");
};
function login(){ 
var userName=document.getElementById("username").value; 
var pwd=document.getElementById("password").value; 
var validcode=document.getElementById("validcode").value; 
var matchResult=true; 
if(userName==""){ 
document.getElementById("dialogs").innerHTML="

用户账号不能为空!

"; dialog(); matchResult=false;  }else if(pwd==""){  document.getElementById("dialogs").innerHTML="

用户密码不能为空!

"; dialog(); matchResult=false;  }else if(validcode==""){  document.getElementById("dialogs").innerHTML="

验证码不能为空!

"; dialog(); matchResult=false;  }else if(userName.length<6||userName.length>20){  document.getElementById("dialogs").innerHTML="

用户名长度应在6到20个字符之间!

"; dialog(); matchResult=false;  }else if(pwd.length<6||pwd.length>20){  document.getElementById("dialogs").innerHTML="

密码或重复密码长度应在6到20个字符之间!

"; dialog(); matchResult=false;  }  };

需要导入的css、js文件:






这里需要注意的就是导入的CSS,js文件是否正确。

3.利用ajax实现登录功能

html部分:


 

js部分:


function login(){ 
var userName=document.getElementById("username").value; 
var pwd=document.getElementById("password").value; 
var validcode=document.getElementById("validcode").value; 
var matchResult=true; 
if(userName==""){ 
document.getElementById("dialogs").innerHTML="

用户账号不能为空!

"; dialog(); matchResult=false;  }else if(pwd==""){  document.getElementById("dialogs").innerHTML="

用户密码不能为空!

"; dialog(); matchResult=false;  }else if(validcode==""){  document.getElementById("dialogs").innerHTML="

验证码不能为空!

"; dialog(); matchResult=false;  }else if(userName.length<6||userName.length>20){  document.getElementById("dialogs").innerHTML="

用户名长度应在6到20个字符之间!

"; dialog(); matchResult=false;  }else if(pwd.length<6||pwd.length>20){  document.getElementById("dialogs").innerHTML="

密码或重复密码长度应在6到20个字符之间!

"; dialog(); matchResult=false;  }  if(matchResult==true){ $.post("http://127.0.0.1:8888/TP/usersAction?method=login", {usersName:userName,password:pwd, validcode:validcode},function(data,status){ var error=data.error; var result=data.result;  getPic(); if(error=="error"){ errors="true"; document.getElementById("dialogs").innerHTML="

验证码错误,请重新输入!

"; dialog(); } if(result=="0"){ document.getElementById("dialogs").innerHTML="

您输入的用户名不存在!

"; document.getElementById("username").value=""; dialog(); }else if(result=="1"){ document.getElementById("dialogs").innerHTML="

您输入的密码错误,请重新输入!

"; document.getElementById("password").value=""; dialog(); }else if(result=="2"){ document.getElementById("dialogs").innerHTML="

您的管理员权限不够!

"; dialog(); }else if(result=="3"){ location.href="http://127.0.0.1:8888/TP/main.jsp"; }  },"json"); }  };

这里location.href="http://127.0.0.1:8888/TP/main.jsp"作用相当于重定向。我的ajax不是原生的js中的ajax而是JQuery封装好的ajax。大家可以去搜一搜 JQuery中$.post()请求。

login.jsp全部代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>



无标题文档













×Close
亲,您好


我知道了 大学二手交易平台管理系统 BBW综合管理系统  

用户名:

密 码:

验证码:     看不清楚,换一张

    Copyright 2015-2016 林志强 版权所有  function getPic(){  $("#codePic").attr("src","http://127.0.0.1:8888/TP/codePic?flag="+Math.random());  }; function dialog(){  $("#mymodal").modal("toggle"); }; function login(){  var userName=document.getElementById("username").value;  var pwd=document.getElementById("password").value;  var validcode=document.getElementById("validcode").value;  var matchResult=true;  if(userName==""){  document.getElementById("dialogs").innerHTML="

用户账号不能为空!

"; dialog(); matchResult=false;  }else if(pwd==""){  document.getElementById("dialogs").innerHTML="

用户密码不能为空!

"; dialog(); matchResult=false;  }else if(validcode==""){  document.getElementById("dialogs").innerHTML="

验证码不能为空!

"; dialog(); matchResult=false;  }else if(userName.length<6||userName.length>20){  document.getElementById("dialogs").innerHTML="

用户名长度应在6到20个字符之间!

"; dialog(); matchResult=false;  }else if(pwd.length<6||pwd.length>20){  document.getElementById("dialogs").innerHTML="

密码或重复密码长度应在6到20个字符之间!

"; dialog(); matchResult=false;  }  if(matchResult==true){ $.post("http://127.0.0.1:8888/TP/usersAction?method=login", {usersName:userName,password:pwd, validcode:validcode},function(data,status){ var error=data.error; var result=data.result;  getPic(); if(error=="error"){ errors="true"; document.getElementById("dialogs").innerHTML="

验证码错误,请重新输入!

"; dialog(); } if(result=="0"){ document.getElementById("dialogs").innerHTML="

您输入的用户名不存在!

"; document.getElementById("username").value=""; dialog(); }else if(result=="1"){ document.getElementById("dialogs").innerHTML="

您输入的密码错误,请重新输入!

"; document.getElementById("password").value=""; dialog(); }else if(result=="2"){ document.getElementById("dialogs").innerHTML="

您的管理员权限不够!

"; dialog(); }else if(result=="3"){ location.href="http://127.0.0.1:8888/TP/main.jsp"; }  },"json"); }  };

什么是ajax

ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,可以通过在后台与服务器进行少量数据交换,使网页实现异步更新。

感谢各位的阅读!关于“Ajax如何实现带有验证码的局部刷新登录界面”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


当前标题:Ajax如何实现带有验证码的局部刷新登录界面
网站链接:http://cdkjz.cn/article/poiihj.html
返回首页 了解更多建站资讯
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220