求ajax代码
我想校验jsp里登录的页面的用户名在数据库是不是存在,,可是我不知道该怎么写,,,我用的myeclips。。表单名form,,,字段名loginname,,,哪个好心的大...
我想校验jsp里登录的页面的用户名在数据库是不是存在,,可是我不知道该怎么写,,,我用的myeclips。。表单名form,,,字段名loginname,,,哪个好心的大哥教教我,,跪谢了!!步骤能详细点最好。。实在是没分了,对不住了。。
展开
2个回答
展开全部
首先,你要了解ajax原理,其实你要是不了解也可以,照葫芦画瓢
看代码,在需要的地方我会一个一个的讲解,别的你原搬就可以
用jQuery来写最简单,去http://www.codefans.net/tags.php?tag=jQuery%CF%C2%D4%D8下载个1.3版的,1.4版的也一样,但是目前用的最多的还是1.3
在页面head部分引入需要的js,就一个就可以<script src="/你的路径/jquery-1.3.2.min.js" type="text/javascript"></script>
比如我现在要判断用户名是否已经存在,
你的form里面肯定有一个用于输入用户名的文本框,比如名字叫txt_username
给它一个“失去焦点”的事件onblur="checkUidIsExist(this.value)",把本文框的值作为参数传给这个方法
然后
<script type="text/javascript">
function checkUidIsExist(uid)
{
if(uid=="")
{
//错误,不能为空,返回,这个你应该会判断
}
//这个时候需要用到ajax了
$.ajax({
url:"checkUid.jsp",//这个你可以更改,主要就是为了写Java代码验证是否已经存在用户名的
data:"uid="+escape(uid),//这个为什么需要escape,就是可以防止在传输数据的时候出现乱码,当然,如果你能保证用户名是英文,就不需要escape了
type:"GET",//照写
success:function(request)//这个request就是返回的数据,返回的时候可以是任意形式的,但是要有利于你判断,比如如果存在就返回“true”,不存在就返回“false”,request就是代表返回的数据,在后面还会说到
{
//if(request=="true")代表返回的是“true”,说明已经存在这个用户名了
if(request=="true")
{
//已经存在,你可以用一个span显示
//document.getElementById("span1").innerHTML="对不起,该用户名已经被注册";return false;
}
else
{
//没有存在,可以正常注册,就不用做什么了,不过也可以document.getElementById("span1").innerHTML="";防止之前已经验证过,清空这个错误提示
}
}
});
}
</script>
好了,js就写完了,然后肯定要在checkUid.jsp这个文件里面写判断代码了,因为是异步调用,js在调用的时候,checkUid.jsp也不能闲着,
因为我是做.net开发的,Java跟.net大同小异,你能理解就行了
if(request.querystring["uid"]!=null)//如果参数不能为空,希望你能理解下意思就行,这个uid就是js里面data:"uid="+...这个里面的uid,
{
//通过你的方法,判断是否已经存在用户名,通过request.querystring["uid"].tostring()来判断,
//if(存在)
//{
// response.write("true");//这里就是向客户端返回数据,这里因为判断已经存在,所以返回了"true",这就是在前面判断的时候request 的值就是它
//}
//else
//{
//不存在,response.write("false");
//}
//最后要response.end();//这里不好意思,不知道jsp里面是不是这样写的,有没有这样的写法,但是这个地方一定要停止再输出了,否则会把整个网页输出给你,你没法判断了,
}
呵呵
希望对你有所帮助,虽然我不是做java的,但是原理都是一样,代码也大同小异,看你这么焦急,所以尽我所能,尽可能的帮帮你,我们都是这么走过来的
另外,如果你不想用jQuery,自己写js也行,那你得了解如果实现ajax,异步是什么意思等等,如果你觉得不会写js,又想了解怎么写,jQuery代码也看不懂,我也自己写过一个框架,当然功能没有jQuery强大,但是有许多功能比较有用,而且是集成的,可以给你看下,里面的代码都比较简洁,基本的功能里面都有,。。
另外注意下,Java的判断代码是在页面加载的事件里面写的,.net有个Page_Load事件,jsp不知道是什么事件,但是肯定是有这么一个事件的,判断方法在里面写,如果你用了escape,在Java代码里面一定要解码,.net是Server.UrlDecode(request.querystring["uid"].tostring());你对应写Java代码
看代码,在需要的地方我会一个一个的讲解,别的你原搬就可以
用jQuery来写最简单,去http://www.codefans.net/tags.php?tag=jQuery%CF%C2%D4%D8下载个1.3版的,1.4版的也一样,但是目前用的最多的还是1.3
在页面head部分引入需要的js,就一个就可以<script src="/你的路径/jquery-1.3.2.min.js" type="text/javascript"></script>
比如我现在要判断用户名是否已经存在,
你的form里面肯定有一个用于输入用户名的文本框,比如名字叫txt_username
给它一个“失去焦点”的事件onblur="checkUidIsExist(this.value)",把本文框的值作为参数传给这个方法
然后
<script type="text/javascript">
function checkUidIsExist(uid)
{
if(uid=="")
{
//错误,不能为空,返回,这个你应该会判断
}
//这个时候需要用到ajax了
$.ajax({
url:"checkUid.jsp",//这个你可以更改,主要就是为了写Java代码验证是否已经存在用户名的
data:"uid="+escape(uid),//这个为什么需要escape,就是可以防止在传输数据的时候出现乱码,当然,如果你能保证用户名是英文,就不需要escape了
type:"GET",//照写
success:function(request)//这个request就是返回的数据,返回的时候可以是任意形式的,但是要有利于你判断,比如如果存在就返回“true”,不存在就返回“false”,request就是代表返回的数据,在后面还会说到
{
//if(request=="true")代表返回的是“true”,说明已经存在这个用户名了
if(request=="true")
{
//已经存在,你可以用一个span显示
//document.getElementById("span1").innerHTML="对不起,该用户名已经被注册";return false;
}
else
{
//没有存在,可以正常注册,就不用做什么了,不过也可以document.getElementById("span1").innerHTML="";防止之前已经验证过,清空这个错误提示
}
}
});
}
</script>
好了,js就写完了,然后肯定要在checkUid.jsp这个文件里面写判断代码了,因为是异步调用,js在调用的时候,checkUid.jsp也不能闲着,
因为我是做.net开发的,Java跟.net大同小异,你能理解就行了
if(request.querystring["uid"]!=null)//如果参数不能为空,希望你能理解下意思就行,这个uid就是js里面data:"uid="+...这个里面的uid,
{
//通过你的方法,判断是否已经存在用户名,通过request.querystring["uid"].tostring()来判断,
//if(存在)
//{
// response.write("true");//这里就是向客户端返回数据,这里因为判断已经存在,所以返回了"true",这就是在前面判断的时候request 的值就是它
//}
//else
//{
//不存在,response.write("false");
//}
//最后要response.end();//这里不好意思,不知道jsp里面是不是这样写的,有没有这样的写法,但是这个地方一定要停止再输出了,否则会把整个网页输出给你,你没法判断了,
}
呵呵
希望对你有所帮助,虽然我不是做java的,但是原理都是一样,代码也大同小异,看你这么焦急,所以尽我所能,尽可能的帮帮你,我们都是这么走过来的
另外,如果你不想用jQuery,自己写js也行,那你得了解如果实现ajax,异步是什么意思等等,如果你觉得不会写js,又想了解怎么写,jQuery代码也看不懂,我也自己写过一个框架,当然功能没有jQuery强大,但是有许多功能比较有用,而且是集成的,可以给你看下,里面的代码都比较简洁,基本的功能里面都有,。。
另外注意下,Java的判断代码是在页面加载的事件里面写的,.net有个Page_Load事件,jsp不知道是什么事件,但是肯定是有这么一个事件的,判断方法在里面写,如果你用了escape,在Java代码里面一定要解码,.net是Server.UrlDecode(request.querystring["uid"].tostring());你对应写Java代码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询