Ошибка unterminated string literal в firefox

Ozzy

Новичок
Ошибка unterminated string literal в firefox

PHP:
function checkInfo() {     
 try {      
   var log = document.getElementById("log").value;      
   var url = "valid.php?log=" + escape(log);       
   request.open("GET", url, true);      
   request.onreadystatechange = updatePage;       
   request.send(null);     
  }     
  catch(e)     
  {         
    alert("Невозможно соединиться с сервером:\n"+e.toString());     
  } 
}
Вот на этом куске кода вываливается мой catch "Невозможно соединиться с сервером: Syntax error: unterminated string literal
В опере и эксплорере все работает, куда копать?
 

phprus

Moderator
Команда форума
Ozzy
В опере и эксплорере все работает, куда копать?
А веть врешь.

var url = "valid.php?log=" + escape(log);
Тут ты используешь переменную log, но нигде в этой функции она не определена. Следовательно даже в IE твой код будет работать не так как ты хотел.
 

dimagolov

Новичок
не escape, а encodeURIcomponent для начала
поставь firebug и повмотри где проблема
 

Ozzy

Новичок
Автор оригинала: dimagolov
не escape, а encodeURIcomponent для начала
поставь firebug и повмотри где проблема
Пробовал отправку вообще без обработки js, firebug установлен но помочь пока не смог.
 

dimagolov

Новичок
Автор оригинала: Ozzy
Пробовал отправку вообще без обработки js
это как? святым духом?
Автор оригинала: Ozzy firebug установлен но помочь пока не смог.
firebug это не программер, который отладит за тебя твой код, это инструмент. пошагово проходил и смотрел где exception выбрасывает?
 

Ozzy

Новичок
Автор оригинала: dimagolov
это как? святым духом?
Нет, это вот так var url = 'http://kol/valid.php?fio='+fio;
Автор оригинала: dimagolov
firebug это не программер, который отладит за тебя твой код, это инструмент. пошагово проходил и смотрел где exception выбрасывает?
Ну это само собой разумеется :)
А вообще покопавшись в инете судя по всему нашел ответ:

Мозилка не выполняет синхронно onreadystatechange-функцию. надо делать так
xhr.send()
// а тут прямо вызывайте Вашу функцию
myfunction.call(xhr, ...)
 
Сверху