我正在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.status == 200) {
alert('is logged');
}else if (hr.status == 400){
alert('is not logged');
}
}
hr.send(vars); // Actually execute the request
但当我收到回复时,浏览器会启动各种警报。任何人都可以帮忙解决这个问题吗?
答案 0 :(得分:30)
是的,因为它应该....... onreadystatechange可以在一个请求中多次调用..
并且为了警告两个条件,只要请求是好的,它就是200,它会警告“它没有记录”,当它获得readystate = 4以及Ok信号时它会报警。
readyState = 4 //请求已完成且响应已准备就绪
status = 200 //表示服务器成功处理了请求
所以,第二次警报popsup因为至少你的请求被成功地处理了。
欲了解更多信息:
http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp
这里是:
xhrobj.onreadystatechange = function()
{
if (xhrobj.readyState == 4 && xhrobj.status == 200)
{
if (xhrobj.responseText)
{
//put your code here
document.write(xhrobj.responseText);
}
}
};