我已经用JSP创建了一个注册页面,我想用AJAX验证它。到目前为止,我已经编写了一段创建请求对象(AJAX)的代码。
validate.js
window.onload=initPage;
function initPage() {
document.getElementById("username").onblur = checkUsername;
document.getElementById("register").disabled = true;
}
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 checkUsername() {
document.getElementById("username").className="thinking";
request=createRequest();
if(request==null)
alert("Unable To Fetch Request");
else
{
var name=document.getElementById("username").value;
var userName=escape(name);
var url="checkName.jsp?username="+userName;
request.onreadystatechange=showUserNameStatus;
request.open("GET", url, true);
request.send(null);
}
}我感兴趣的问题是url。我不知道如何在checkName.jsp中验证这个用户名。实际上,如果验证了username,那么用户可以注册自己,如果用户名已经注册,那么服务器应该强制用户选择不同的用户名。
function showUserNameStatus() {
if(request.readyState==4)
{
if(request.status==200)
{
if(request.responseText=="okay")
{
document.getElementById("username").className="approved";
document.getElementById("register").disabled = false;
}
else
{
document.getElementById("username").className = "denied";
document.getElementById("username").focus();
document.getElementById("register").disabled = true;
}
}
}
}发布于 2014-05-24 14:43:44
如果我理解,您有一个注册页面jsp,在其中您发布了一个AJAX调用来验证用户,如果用户是有效的,那么您想继续前进,否则您想要返回到用户已经存在的状态,选择一个新的。
与其向jsp发布调用,我建议的是您可以将同样的调用发布到servlet/控制器/操作类(无论您所引用的标准框架是什么),然后返回对ajax调用的响应。
https://stackoverflow.com/questions/23846098
复制相似问题