请耐心等待..我对ajax很新,并且我的代码遇到了一些问题 我的代码如下。我试图从我的servlet获取响应并使用alert显示它...任何人都可以让我知道我的代码有什么问题:
function checkempid(value) {
var status = false;
xmlHttp=GetXmlHttpObject();
var urlemp="postemployee";
urlemp=urlemp+"?employeeId="+value;
xmlHttp.onreadystatechange=stateChangedemp ;
xmlHttp.open("GET",urlemp,true);
xmlHttp.send(null);
function stateChangedemp() {
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
var showdata = xmlHttp.responseText;
alert(showdata);
**if(showdata=="Congratulations on your new account!"){
alert("inside if");
saveReportFinished(xmlHttp.responseText == 'complete');
}**
else{
alert("inside else");
saveReportFinished(false);
}
}
}
function saveReportFinished(success) {
if (success == true){
status = true;
}
else {
status = false;
}
}
function GetXmlHttpObject(){
var xmlHttp=null;
try {
xmlHttp=new XMLHttpRequest();
}
catch (e) {
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
return status;
}
请用粗体查看我的if语句。它永远不会进入if语句。它总是进入其他..任何人都可以让我知道可能是什么问题???提前谢谢你。
答案 0 :(得分:0)
现在我猜那个showdata永远不会是“祝贺你的新帐户!”可能有空格,html格式或任何弄乱你尝试做的事情。
更好地使用状态代码来检测操作是否正常(如果可以,返回“201 - created”)。当您不能创建任何客户端错误代码时,请使用200(“确定”)。
如果您无法使用状态代码,请尝试在响应中使用xml或json编码,这可以解析并导致确定结果