我想用jquery做一个ajax的验证用户名是否存在的功能。
我用的是IIS7.0。
我写了一个Servlet.
package Servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
public class loginServlet extends HttpServlet {
public loginServlet(){
super();
}
@Override
public void init()throws ServletException {
}
public void destory(){
super.destroy();
}
protected void doGet(HttpServletRequest request, HttpServletResponse
response)throws ServletException, IOException {
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
String old = request.getParameter("username");
try{
if(old == null || old.length() == 0){
out.println("用户名不能为空");
}else{
String name = new String(old.getBytes("ISO8859-1"));
if(name.equals("nihao")){
out.println("用户名["+name+"]已经存在,请使用其它用户名!");
}else{
out.println("用户名["+name+"]尚未存在,可以使用这个用户名!");
}
}
out.println("<br><a href=\"index\">返回验证页面</a>");
}catch(UnsupportedEncodingException e){
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request,HttpServletResponse
response)throws ServletException, IOException {
doGet(request, response);
}
}
Js页面是这样写的。。
/**
通过js
1.button按下事,获取文本框数据发送给服务器,最后接受服务器返回的数据。填充到预留div中
2.在文本框上,用户按建后文本框是否为空,如果不为空,红色边框消失
*/
//页面装载完成执行
//1.button被按下的时候。把东西发服务器,接受服务器相应的。填充到div中
$(document).ready(function(){
//装载完成后执行的
//找到button按钮.button按下事件
$("#mybutton").click(function(){
//1.获取文本框内容
alert("111");
var username=$("username").val();
//2.将内容发送服务器.
if(username==""){
alert("空"); }
else{
alert("111");
//get方法可以实现ajax对服务端交互
//常用有get,post方法
//参数有 url,你要发送的参数,回调函数(url内拼接参数,发送的是username),下面的(response是返回回调形式(纯文本))
$.get("127.0.0.1:8080/loginServlet?username="+username,null,function(response){
//3.接受服务器短数据。填充到div
//html方法可以设置找到节点的html属性
$("#result")(response);
});
}
});
//2在文本框上,用户按键后。需要判断是否为空,如果不为空,红色边框消失
//找到文本框注册事件
$("#username").keyup(function(){
//获取当前文本框中的内容
var value=$(this).val; //username所对应的文本框
//给 input 上的username加上class属性=usertext;
//把CSS上的#换成.名字改成usertext
if(value==""){
//让边框变成红色并且带背景图
$(this).addClass("usertext");
}
else{
//去掉边框
$(this).removeClass("usertext");
}
});
});
现在出现的问题是。用127.0.0.1打开页面,根本就不走js,比如说为空判断这里。根本就不走。
我还有一个疑惑。我不太会java,我就写了一个Servlet,之后就把Servlet.java这个文件还有web.config,放在了我的iis项目文件夹下了。
这样可以么。[/URL]][/img]
如果不可以请各位教教我啊,,我看视频教程学的。他没说怎么写那些东西。就说了jquery的代码。。
------解决方案--------------------------------------------------------
你JS文件放哪的呀, 有没引用呀,
在引用前要先引用 jquery 咯