如何在JSP中使用AJAX请求
我已经用JSP创建了一个注册页面,我想用AJAX验证它。到目前为止,我已经编写了一段创建请求对象(AJAX)的代码 validate.js如何在JSP中使用AJAX请求,ajax,jsp,Ajax,Jsp,我已经用JSP创建了一个注册页面,我想用AJAX验证它。到目前为止,我已经编写了一段创建请求对象(AJAX)的代码 validate.js window.onload=initPage; function initPage() { document.getElementById("username").onblur = checkUsername; document.getElementById("register").disabled = true; } fu
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中验证该用户名。实际上,这种情况是,如果用户名经过验证,那么用户可以自己注册,如果用户名已经注册,那么服务器应该强制用户选择不同的用户名
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;
}
}
}
}
如果我理解,您有一个注册页面jsp,其中您发布了一个AJAX调用来验证用户,如果用户是有效的,那么您想继续,如果您想返回,说明用户已经存在,请选择一个新的
我建议您不要将调用发布到jsp,而是将其发布到servlet/controller/action类(无论您所指的是哪个标准框架),然后返回对ajax调用的响应。如果我使用的是Struts2框架,那么我如何才能实现这个场景。因为我必须用上面提到的“同意”或“拒绝”来确认客户。希望这有助于: