Почему я получаю ошибку «отсутствует» после списка аргументов? - PullRequest
1 голос
/ 19 июня 2011

Я работаю в системе AJAX для отправки формы, но я даже не могу загрузить свой JavaScript, отчет о Firebug приведен ниже.

missing ) after argument list
    else if( httpRequest.responseText == 'already logged in' )\n

Я ковырялся в интернете и ТАК, но все, что я нашел, это ошибки в цитировании. ( Пример , Другой пример ). У меня нет ничего неправильно процитированного, поэтому я действительно не вижу, что происходит. Больше моего кода ниже.
(Некоторые несвязанные вызовы функций для удаления загрузочных сообщений удалены.)

if(httpRequest.responseText != "failure")  // Works fine!
{
    document.getElementById("result").innerHTML = "[Success message]";
    setTimeout("2000", function(){ window.location.assign("[link to page]");
}
else if(httpRequest.responseText == 'already logged in')  // Similar to above, but fails
{
    document.getElementById("result").innerHTML = "[error message]";
}
else
{
    document.getElementById("result").innerHTML = "[error message]";
}

Может кто-нибудь знает, почему эта ошибка называется?
(Для большего количества участников может быть полезно указать, что вызывает эту ошибку, что позволило бы этой странице работать с другим кодом)

Ответы [ 4 ]

7 голосов
/ 19 июня 2011

линия

setTimeout("2000", function(){ window.location.assign("[link to page]");

пропускает }), что приводит к сбою следующей строки ( весь синтаксис неверен в любом случае:)

должно быть

 setTimeout (function(){ window.location.assign("[link to page]") } , 2000 );

setTimeout принимает функцию в качестве первого параметра и целое число в качестве второго .

подробнее здесь

5 голосов
/ 19 июня 2011

Если вы разделите свой код немного больше, вы увидите проблему:

setTimeout("2000", function()
{
    window.location.assign("[link to page]");

Итак, вам не хватает a} и a);

setTimeout(function()
{
    window.location.assign("[link to page]");
},2000);

Редактировать:аргументы неверны, как указывал Каспар.

3 голосов
/ 19 июня 2011
   setTimeout("2000", function(){ window.location.assign("[link to page]");

должно быть

   setTimeout("2000", function(){ window.location.assign("[link to page]");});
2 голосов
/ 19 июня 2011

Вам не хватает }); здесь

setTimeout("2000", function(){ window.location.assign("[link to page]");

должно быть

setTimeout("2000", function(){ window.location.assign("[link to page]"); });
...