首页 资讯中心 建站知识 ASP网站ajax检测用户名是否注册所遇到的坑

ASP网站ajax检测用户名是否注册所遇到的坑

发表日期:2023-03-03 22-03-48来源:西安建站网浏览次数:5358标签:建站知识   

    相信做网站的小伙伴们,经常会遇到各类程序bug。ASP网站因为WINDOWS系统收费的原因,所以现在使用ASP开发网站的人不是很多,但是小编还是比较喜欢ASP程序的,ASP程序只需要放在一个虚拟主机里面,无需单独购买数据库,其实感觉ASP开发网站更简单。

小编在开发ASP网站中遇到了一个小问题,使用ajax检测用户名有没有注册,然后返回的是乱码,最终返现其实是因为是乱码的原因。解决方法如下:

1。需要用到的初始化xmlhttp实例和发送请求的javascript函数:

 

以下为引用的内容:

// JavaScript Document

function createAjax() {   //该函数将返回XMLHTTP对象实例

 var _xmlhttp;

 try {

  _xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

 }

 catch (e) {

  try {

   _xmlhttp=new XMLHttpRequest();

  }

  catch (e) {

   _xmlhttp=false; 

  }

 }

 return _xmlhttp;

}

function checkname(name) {  //该函数用来获取数据

 var xmlhttp1=createAjax();

 if (xmlhttp1) { 

  var span=document.getElementByIdx_x('check');  // 获取显示节点

  xmlhttp1.open('get','checkuser.asp?name='+name+'&n='+Math.random(),true);

  xmlhttp1.onreadystatechange=function() { 

   if (xmlhttp1.readyState==4 && xmlhttp1.status==200) {

    span.innerHTML=(xmlhttp1.responseText);

    }

   else {

    span.innerHTML='xmlhttp对象正在初始化......';

   }

 

  }

  xmlhttp1.send(null);

 }

}


2,ASP文件判断用户名是否存在?

2。处理判断用户名是否重复的asp文件:

 

以下为引用的内容:

checkname.asp文件内容如下:

<%

' 添加数据库连接

dim sql,user

user=sqlcheck(trim(request.QueryString("name"))) ' 获取用户名并过滤非法字符

if user="" then

 Response.Write escape("用户名不能为空")

 response.End()

end if

sql="select name from hn_user where name='"&user&"'"  ' 查询数据库中是否有重复记录

set rs = conn.execute(sql)

If not(rs.Eof And rs.Bof) Then

 Response.Write escape("已经存在此成员名,请更换.") ' 返回结果并进行编码转义

Else

 Response.Write escape("此用户名可以注册")

end if

%>


3。前台表单处理页面:



这是小编第一次解决的,因为编码的问题,输出正确的编码即可,其实还有更简单的方法,利用jquery+ajax,然后 ASP返回一个json格式,就不存在编码的问题了。