Php 多次调用XMLHttpRequest onreadystatechange
我正在用php实现一个登录系统,并使用ajax请求 这是我的要求Php 多次调用XMLHttpRequest onreadystatechange,php,ajax,Php,Ajax,我正在用php实现一个登录系统,并使用ajax请求 这是我的要求 hr.open("POST", url, true); hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); hr.onreadystatechange = function() { var return_data = hr.responseText; if(hr.readyState == 4 &&
hr.open("POST", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
var return_data = hr.responseText;
if(hr.readyState == 4 && hr.status == 200) {
alert('is logged');
}else if (hr.status == 400){
alert('is not logged');
}
}
hr.send(vars); // Actually execute the request
但当我收到回复时,浏览器会发出各种警报。有人能帮助解决这个问题吗?是的,它可以正常工作……onreadystatechange可以在一个请求中多次调用。。 对这两种情况都发出警报的条件是,无论何时请求正常,都是200 它提醒: “它没有被记录” 当它得到readystate=4以及
Ok信号时,它会发出警报:
登录
然后
readyState=4-->请求已完成,响应已准备就绪
status=200-->表示服务器已成功处理请求
因此,第二个警报弹出,因为至少您的请求已成功处理。
有关更多信息:
这是:
各种警报-您能更详细地描述一下吗?它多次显示两条警报消息。基本上,每次我调用php文件来登录用户,或者我让他登录,或者我让他退出。这就像我检查的页面被称为多次,它多次显示这些消息,因为它多次发布帖子。但是我不知道为什么。我不知道。。。。但我仍然有readyState和status的验证,并且应该只发生一次(readyState==4&&status==200),对吗?@TaLhaKhan谢谢,我有一个类似的问题,我不确定,在阅读了你的答案后,我能够理解它。我的问题。单击一个按钮会生成多个请求。
xhrobj.onreadystatechange = function()
{
if (xhrobj.readyState == 4 && xhrobj.status == 200)
{
if (xhrobj.responseText)
{
//put your code here
document.write(xhrobj.responseText);
}
}
};