我正在练习 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编码的问题还是服务器响应的某个地方?