ajax 调用onblur检查用户名是否存在时提示404 NOT FOUND错误
index.jsp// 首页,在这里输入用户名查询
<!doctype html>
<html lang="en">
<head>
<meta charset="gbk">
<title>Document</title>
</head>
<body>
<script>
window.onload = initPage;
function initPage() {
document.getElementById("userid").onblur = checkUserid;//引用函数方法
}
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (tryMS) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (otherMS) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
return request;
}
function checkUserid(){
request=createRequest();
var theName = document.getElementById("userid").value;
request.open("GET","CheckServlet?userid="+theName,true);
request.onreadystatechange=checkUseridCallback;
request.send(null);
document.getElementById("msg").innerHTML="正在验证...";
}
function checkUseridCallback(){
if(request.readyState==4){
if(request.status==200){
if( text=="true"){
flag=false;
document.getElementById("msg").innerHTML="用户ID重复";
}else{
flag=true;
document.getElementById("msg").innerHTML="此用户ID可以注册";
}
}
}
}
</script>
<form action="index.jsp" method="GET" ">
用户ID: <input type="text" id="userid" name="userid">
<span id="msg"></span>
<br>
姓名 <input type="text" name="name" >
</form>
</body>
</html>
package org.lxh.ajaxdemo;
import java.io.*;
import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServlet;
public class CheckServlet extends HttpServlet{
public static final String DBDRIVER="com.mysql.jdbc.Driver";
public static final String DBURL="jdbc:mysql://localhost:8889/username?characterEncoding=gbk";
public static final String DBUSER="root";
public static final String DBPASS="root";
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
this.doPost(request, response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
request.setCharacterEncoding("gbk");
response.setContentType("text/html");
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
PrintWriter out=response.getWriter();
String userid=request.getParameter("userid");
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String sql=" select * from name where username=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,userid);
rs=pstmt.executeQuery();
if(rs.next()){
if(rs.getInt(1)>0){
out.println("true");
}else{
out.println("false");
}
}
out.close();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}


<!doctype html>
<html lang="en">
<head>
<meta charset="gbk">
<title>Document</title>
</head>
<body>
<script>
window.onload = initPage;
function initPage() {
document.getElementById("userid").onblur = checkUserid;//引用函数方法
}
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (tryMS) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (otherMS) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
return request;
}
function checkUserid(){
request=createRequest();
var theName = document.getElementById("userid").value;
request.open("GET","CheckServlet?userid="+theName,true);
request.onreadystatechange=checkUseridCallback;
request.send(null);
document.getElementById("msg").innerHTML="正在验证...";
}
function checkUseridCallback(){
if(request.readyState==4){
if(request.status==200){
if( text=="true"){
flag=false;
document.getElementById("msg").innerHTML="用户ID重复";
}else{
flag=true;
document.getElementById("msg").innerHTML="此用户ID可以注册";
}
}
}
}
</script>
<form action="index.jsp" method="GET" ">
用户ID: <input type="text" id="userid" name="userid">
<span id="msg"></span>
<br>
姓名 <input type="text" name="name" >
</form>
</body>
</html>
package org.lxh.ajaxdemo;
import java.io.*;
import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServlet;
public class CheckServlet extends HttpServlet{
public static final String DBDRIVER="com.mysql.jdbc.Driver";
public static final String DBURL="jdbc:mysql://localhost:8889/username?characterEncoding=gbk";
public static final String DBUSER="root";
public static final String DBPASS="root";
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
this.doPost(request, response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
request.setCharacterEncoding("gbk");
response.setContentType("text/html");
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
PrintWriter out=response.getWriter();
String userid=request.getParameter("userid");
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String sql=" select * from name where username=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,userid);
rs=pstmt.executeQuery();
if(rs.next()){
if(rs.getInt(1)>0){
out.println("true");
}else{
out.println("false");
}
}
out.close();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}


...全文
相关推荐
Nginx中定义404页面并且返回404状态码的正确方法
当用户尝试访问不存在的资源时,服务器应返回404 Not Found状态码,以便客户端(如JavaScript的jQuery AJAX)能够识别并采取相应的错误处理措施。
Nginx中404页面的配置及AJAX请求返回404页面的方法
"本文主要探讨了如何在Nginx服务器中配置404错误页面以及解决AJAX请求返回200状态码而非404的问题。Nginx的404页面配置对于用户体验和搜索引擎优化(SEO)至关重要。配置不当可能导
01-404-Not-Found-Scrimba:01. 404未找到-Scrimba
404错误,全称为HTTP 404或Not Found,是互联网上标准的HTTP状态码之一。当用户尝试访问的网页不存在或者已经被删除时,服务器就会返回这个错误代码。
Ajax使用原生态JS验证用户名是否存在
本示例介绍了如何使用原生JavaScript实现Ajax来验证用户名是否存在,通过向服务器发送异步请求并接收响应数据。Ajax(Asynchronous JavaScript and XML)是
ajax模拟 登陆及判断用户名
如果找到匹配的用户名,返回一个表示成功的JSON对象;否则,返回404(Not Found)状态码,表示用户名无效。


Web 开发
