2015-12-07 4 views
2

У меня проблема с window.location. Так что у меня есть AJAX запрос следующим образом:Window.location отменяется в ajax

function login(){ 
 
\t 
 
\t var u = document.getElementById("username").value; 
 
\t var p = document.getElementById("password").value; 
 
\t if(u == "" || p == ""){ 
 
\t \t 
 
\t } else { 
 
\t \t var ajax = ajaxObj("POST", "ajaxResp.php"); 
 
     ajax.onreadystatechange = function() { 
 
\t   if(ajaxReturn(ajax) == true) { 
 
\t    if(ajax.responseText == "login_failed"){ 
 
\t \t \t \t \t alert("fail"); 
 
\t \t \t \t } 
 
\t \t \t \t else { 
 
\t \t \t \t \t window.location = "user.php?u="+ajax.responseText; 
 
\t \t \t \t } 
 
\t   } 
 
     } 
 
     ajax.send("u="+u+"&p="+p); 
 
\t } 
 
\t return false; 
 
}

где ajaxObj находится decleared в другом файле. Мой ajaxResp.php отправит мне обратно имя пользователя, которому я должен перенаправить. Но когда я достигаю window.location, мой запрос отменяется. Что это значит?

+0

И вы уверены, что условия правдивы, и что вы действительно достигаете строки 'window.location' вообще – adeneo

+0

@adeneo, да, потому что я могу видеть этот запрос в инспекторе браузера, и он говорит, что он отменен –

+3

Вы можете увидеть запрос ajax, очень маловероятно, что переадресация 'window.location' в консоли будет« отменена ». – adeneo

ответ

1

Если удалена линия window.location. вы не ожидаете завершения вызова Ajax.

Это означает, что код, находящийся внутри ajaxReturn, не проверяет готовность readyState.

Смежные вопросы