`

采用异步方式进行的验证码检验

阅读更多
这是网上搜到的源代码,这个东东解决我在B/S模式下做验证码的问题,让我真切的感受到了B/S模式下开发的真实情况。


/* namespacing object */
var net=new Object();
 
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;
/*--- content loader object for cross-browser requests ---*/
net.ContentLoader=function(url,on_load,on_error,method,params,contentType){
  this.req=null;
  this.on_load=on_load;
  this.on_error=(on_error) ? on_error : this.defaultError;
  this.loadXMLDoc(url,method,params,contentType);
}
net.ContentLoader.prototype.loadXMLDoc=function(url,method,params,contentType){
  if (!method)
  {
	method="GET";
  }
  if (!contentType && method=="POST")
  {
	contentType='application/x-www-form-urlencoded';
  }
  if (window.XMLHttpRequest)
  {
	this.req=new XMLHttpRequest();
  }
  else if (window.ActiveXObject)
  {
  	//add try catch;
	 	try {
		    this.req = new ActiveXObject("Msxml2.XMLHTTP");
			}catch (e1){
					try {
						this.req = new ActiveXObject("Microsoft.XMLHTTP");					
						} catch (e2){
				}
		 }
			 	//
	//this.req=new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (this.req)
  {
	try
	{
	  var loader=this;
	  this.req.onreadystatechange=function()
	  {
		net.ContentLoader.onReadyState.call(loader);
	  }
	  this.req.open(method,url,true);
	  if (contentType)
	  {
		  this.req.setRequestHeader('Content-Type', contentType);
	  }
	  this.req.send(params);
	}
	catch (err)
	{
	  this.on_error.call(this);
	}
  }
}
net.ContentLoader.onReadyState=function(){
  var req=this.req;
  var ready=req.readyState;
  if (ready==net.READY_STATE_COMPLETE){
	var httpStatus=req.status;
	if (httpStatus==200 || httpStatus==0){
	  this.on_load.call(this);
	}else{
	  this.on_error.call(this);
	}
  }
}
net.ContentLoader.prototype.defaultError=function(){
  alert("error fetching data!"
	+"\n\nreadyState:"+this.req.readyState
	+"\nstatus: "+this.req.status
	+"\nheaders: "+this.req.getAllResponseHeaders());
}


调用方式

 new net.ContentLoader(url,subform,null,"GET","num="+obj.idCode.value,null); 

分享到:
评论

相关推荐

    Ajax的使用,验证码图片生成asp.net

    实现用户名是否存在异步验证,邮箱检验,验证码图片生成等的注册系统

    基于JSP+JavaBean+Servlet+Ajax+Mysql的验证码 增删查改完整例子

    基于JSP+JavaBean+Servlet+Ajax+Mysql的增删查改完整例子,ajax异步检测验证码,数据库是否存在

    基于simulink的异步电机变转差率控制.zip

    3.1.5 字符识别(字母、数字、手写体、汉字、验证码) 3.1.6 病灶识别 3.1.7 花朵、药材、水果蔬菜识别 3.1.8 指纹、手势、虹膜识别 3.1.9 路面状态和裂缝识别 3.1.10 行为识别 3.1.11 万用表和表盘识别 ...

    [Javaweb/LayUI/上机考试作业/开源]学生/图书/课程/仓库等管理系统六合一基础功能通用模板

    使用了layui,注册的时候可以检测用户名是否存在,登陆的时候有验证码,管理员登录可进入后台管理界面,可以增加物品,修改物品,删除物品,修改用户密码,刷新表单等操作,全部采用异步更新。

    这是一个使用eclips开发的纯servlet的客户端加管理员后台的学员综合管理系统 (声明:该项目的客户端是仿的)

    这是一个客户端+管理员后台的项目,注册使用到了ajax异步请求,注册的时候有验证码检验用户是否为机器人,管理员页面实现了分页功能。和基本的增删改查,部分表的增删改查还没有完善。 客户端可以注销退出当前登录,...

    10.Python实战操作源码Web开发.zip

    01如何生成包含字母和数字的图片验证码02如何检测输入的图片验证码是否正确. 03 如何使用自定义404错误页面提升用户体验.....04如何使用WTForms验证Form表单中的字段......05如何解决WTForms导致的ID冲突问题.....06...

    良好体验度的注册系统ASP.NET版本

    1.AJAX验证用户名和验证码,同时异步进行用户名注册(都属于AJAX的很基础部分) 2.支持验证码刷新(包括firefox平台下) 3.密码,邮箱,用户名等即时检测(利用javascript DOM) 4.HTML通过W3C Strict验证,CSS也通过W3C ...

    Shopnc b2b2c 好商城V5 33hao-V5完整源码.zip

    首页楼层异步加载 √ 首页楼层异步加载,使网站打开速度更快 首页猜你喜欢 √ 布瀑流加载技术显示,下拉位置才加载数据,不影响网站影响 浏览历史页面删除商品功能 √ 可删除浏览历史中的商品 在线客服功能 √ ...

    .NET万能框架:Masuit.Tools

    反射操作:各种对对象的字段属性和方法的快捷方式; 加密安全:对字符串进行的扩展,包含AES、DES、MD5、hash、SHA1、加盐等; 字符串扩展:包含验证码生成、各种与字符串相关的扩展; Win32API:包含于Windows...

    java开源包1

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

    java开源包11

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

    java开源包2

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

    java开源包3

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

    java开源包6

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

    java开源包5

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

    java开源包10

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

    java开源包4

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

    java开源包8

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

    java开源包7

    Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...

Global site tag (gtag.js) - Google Analytics