function submitLogin(){
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
var testlabel = document.getElementById('testlabel').value;
var postStr = "username=" + username + "&password=" + password + "&testlabel=" + testlabel;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById('mainPage').innerHTML = xmlhttp.responseText;//ATTENTION1
} else {
document.getElementById('mainPage').innerHTML = "Logining......";//ATTENTION2
}
}
xmlhttp.open("POST", "loginto.php", true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(postStr);
}
这些是我的代码。 如果我在// ATTENTION2中将“mainPage”更改为其他内容,页面将自动发送“GET”方法,但如果我仍然使用“mainPage”,则没有问题。
但是,如果我将“mainPage”更改为// ATTENTION1中的其他内容,则post方法没有问题,响应的内容可以正确显示。
那么,有什么解决方案吗?谢谢!
答案 0 :(得分:0)
“别的东西”是什么意思?您需要在页面中拥有一个元素的id,其中将呈现来自ajax响应的内容。
例如,如果您有
<div id="myID"></div>
在页面的某个地方,将// ATTENTION1中的'mainPage'更改为'myID',然后来自ajax请求的响应将放在该div中。
您在// ATTENTION2中所做的更改是针对中间状态的,因为它位于“else”上,因此不会影响ajax请求完成时发生的情况。