2013-07-15 2 views
0

У меня есть следующая проблема. У меня есть сценарий jQuery, который загружает Ajax каждую секунду на страницу. Когда ответ «идет», он должен перенаправить на другую страницу. Это работает только тогда, когда он сразу получает «идти» в качестве ответа. Если ответ сначала что-то другое, а затем «идти», он не работает. Зачем?JQuery перенаправление не работает действительно

Вот мой код:

 setInterval(function() { 
     $("#reset").load('game/gamehandler.php'); 
     var data = $('#reset').html(); 
     if(data[0]+data[1] == 'go'){ 
     $('#answer').modal('hide'); 
     alert('Du kannst spielen!'); 
     var url = "http://www.guido-muehlwitz.de"; 
     $(location).attr('href',url); 
     } 
    }, 1000); 
    $.ajaxSetup({ cache: false }); 
+0

Потому что вы не соответствие против чего-либо, кроме как раз слово "идти". Вы можете использовать indexOf, чтобы проверить, есть ли go в строке: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf – Alex

+1

попробуйте перенаправить с помощью window.location. href = url – JamesN

+0

Попробуйте переместить код после функции [.load()] (http://api.jquery.com/load/) в свой обратный вызов: http://jsfiddle.net/sLBgY/2/ (пример) – Stano

ответ

0

Вместо этого

if(data[0]+data[1] == 'go'){ 

Попробуйте эти:

if (data.indexOf("go") >= 0){ 

Note that this is case-sensitive. 
If you want a case-insensitive search, you can write 

if (data.toLowerCase().indexOf("go") >= 0){ 
Or, 

if (/go/i.test(data)){ 
Смежные вопросы