ASP网站ajax检测用户名是否注册所遇到的坑
发表日期:2023-03-03 22-03-48来源:西安建站网浏览次数:5223标签:建站知识
相信做网站的小伙伴们,经常会遇到各类程序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格式,就不存在编码的问题了。
如没特殊注明,文章均为魔盒建站网原创,转载请注明来自 http://www.jzmohe.com/news/14