Javascript ajax函数没有';t返回值
为什么这个javascript函数只返回“undefined”?我想让它返回真或假。 这是我的密码:Javascript ajax函数没有';t返回值,javascript,ajax,function,return-value,Javascript,Ajax,Function,Return Value,为什么这个javascript函数只返回“undefined”?我想让它返回真或假。 这是我的密码: function Ajax() { var XML; if(window.XMLHttpRequest) XML=new XMLHttpRequest(); else XML=new ActiveXObject("Microsoft.XMLHTTP"); XML.onreadystatechange=function() {
function Ajax() {
var XML;
if(window.XMLHttpRequest)
XML=new XMLHttpRequest();
else
XML=new ActiveXObject("Microsoft.XMLHTTP");
XML.onreadystatechange=function() {
if(XML.readyState == 4 && XML.status == 200) {
if(XML.responseText == '1') {
return true;
} else {
return false;
}
}
XML.open("POST","p.php", false);
XML.setRequestHeader("Content-type","application/x-www-form-urlencoded");
XML.send("user=f");
}
我不知道为什么。似乎是你的错
if(XML.readyState==4&&XML.status==200)
不满意的是为什么它不能归还任何东西。验证是否将其他返回语句与else一起置于上述if条件 很可能是因为无法访问
p.php
,所以XML.status
从不包含值200。检查p.php
的可达性 为什么要否决这个问题?在我看来,这是合法的。XML.onreadystatechange中的每个返回代码都不会返回值。XML.responseText的值是“1”(使用警报函数)。如果可以访问XML.responseText,那么问题出在哪里?XML.responseText只有在p.php返回其内容时才可访问,这是当XML.status==200
时的情况。p.php返回内容,但Ajax函数不返回其值,因此您应该编写“当从浏览器调用p.php时,我得到'1'作为输出”之类的内容。如果你保持不具体,没有人能解决你的问题。