我正在练习AJAX,因为我写了一个代码来从服务器中的文件中获取文本,如果它是“ 0”,则打印“零”,如果错误打印“未连接”,则打印“一”。但是出了点问题,不知道是什么,即使已经连接也没有连接。
这是代码:
<html>
<head>
<title>LogIN</title>
<script>
function verify()
{
var xml;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xml=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xml=new ActiveXObject("Microsoft.XMLHTTP");
}
xml.onreadystatechange=function()
{
if (xml.readyState==4 && xml.status==200)
{
var res=xml.responseText();
if(res.equals("0"))
{
document.write("zero");
}
else
{
document.write("one");
}
}
else
document.write("Not connected");
}
xml.open("GET", "log_verify.txt", true);
xml.send();
}
function login()
{
//action to login
}
</script>
</head>
<body>
<form>
User name : <input type="text" name="uname" onblur="verify()">
<br>
Pwd : <input type="password" name="passwd" >
<br>
<input type="button" name="Login" value="Login" onclick="login()">
</form>
</body>
</html>
获取输出为
未连接未连接未连接
但是当我只显示响应文本时,它将按照以下代码正确打印
<html>
<head>
<title>LogIN</title>
<script>
function verify()
{
var xml;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xml=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xml=new ActiveXObject("Microsoft.XMLHTTP");
}
xml.onreadystatechange=function()
{
if (xml.readyState==4 && xml.status==200)
{
document.getElementById("myDiv").innerHTML+=xml.responseText;
}
}
xml.open("GET", "log_verify.txt", true);
xml.send();
}
function login()
{
//action to login
}
</script>
</head>
<body>
<form>
User name : <input type="text" name="uname" onblur="verify()">
<br>
Pwd : <input type="password" name="passwd" >
<br>
<input type="button" name="Login" value="Login" onclick="login()">
</form>
<div id="myDiv"><h2>Response text:</h2></div>
</body>
</html>
获取输出为
回应文字:
0
JavaScript编码或服务器响应中的某处出现问题?
最佳答案
第一,
else
document.write("Not connected");
只要状态更改且状态不是
4
和200
,就会执行该命令。它不一定表示Not connected
。您可以删除该部分。当状态从0
更改为1
到2
更改为3
(和4
,但不会显示到else
)时,您当前会看到它三次。其次,您使用的是
.equals
,但是此函数本身不可用,并且您也未定义它。您是否在寻找: if(res == "0")
==
是相等运算符。和,res = xml.responseText;
它不是一个函数,因此您不应附加
()
。关于javascript - 回应文字比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7133712/