Uncaught SyntaxError: Неожиданный токен: - PullRequest
172 голосов
/ 29 июня 2010

Я выполняю вызов AJAX в моем скрипте MooTools, в Firefox это работает нормально, но в Chrome я получаю ошибку Uncaught SyntaxError: Unexpected token :, я не могу определить, почему. Комментируя код, чтобы определить, где плохой код ничего не дает, я думаю, что это может быть проблемой с возвращаемым JSON. Проверяя в консоли, я вижу, что JSON вернул это:

{"votes":47,"totalvotes":90}

Я не вижу никаких проблем с этим, почему эта ошибка произошла?

vote.each(function(e){
  e.set('send', {
    onRequest : function(){
      spinner.show();
    },
    onComplete : function(){
      spinner.hide();
    },
    onSuccess : function(resp){
      var j = JSON.decode(resp);
      if (!j) return false;
      var restaurant = e.getParent('.restaurant');
      restaurant.getElements('.votes')[0].set('html', j.votes + " vote(s)");
      $$('#restaurants .restaurant').pop().set('html', "Total Votes: " + j.totalvotes);
      buildRestaurantGraphs();
    }
  });

  e.addEvent('submit', function(e){
    e.stop();
    this.send();
  });
});

Ответы [ 19 ]

1 голос
/ 17 марта 2015

" Uncaught SyntaxError: Unnexpected token " появляется ошибка, когда ваши данные возвращают неверный формат json, в некоторых случаях вы не знаете, что получили неправильный формат json.
пожалуйста, проверьте это с предупреждением ();function

onSuccess : function(resp){  
   alert(resp);  
}

полученное сообщение должно быть: {"firstName": "John", "lastName": "Doe"}
, а затем вы можете использовать код ниже

onSuccess : function(resp){  
   var j = JSON.decode(resp); // but in my case i'm using: JSON.parse(resp); 
}

без ошибки " Uncaught SyntaxError: неожиданный токен "
, но если вы получили неправильный формат json
ex:

... {"firstName":"John", "lastName": "Doe"}

или

Undefined variable: errCapt in .... on line<b>65</b><br/>{"firstName":"John", "lastName":"Doe"}

, чтобы у вас был неправильный формат json, исправьте его перед JSON.decode или JSON.синтаксический

1 голос
/ 13 ноября 2013

У меня была такая же проблема, и оказалось, что Json, возвращенный с сервера, не был действительным Json-P.Если вы не используете вызов как междоменный вызов, используйте обычный Json.

0 голосов
/ 20 декабря 2018

В моем случае это был ошибочный URL (не существует), поэтому, возможно, ваш 'send' во второй строке должен быть другим ...

0 голосов
/ 02 февраля 2018

Для тех, кто испытывает это в AngularJs 1.4.6 или аналогичной, моя проблема заключалась в том, что angular не смог найти мой шаблон, поскольку файл по указанному мною templateUrl (путь) не был найден. Я просто должен был обеспечить доступный путь, и проблема ушла.

0 голосов
/ 21 июля 2017

Я ошибся в этом

   `var  fs = require('fs');
    var fs.writeFileSync(file, configJSON);`

Уже я инициализировал переменную fs. Но снова я поставил var во второй строке. Этот также выдает такую ​​ошибку ...

0 голосов
/ 21 июня 2017

Для меня лампочка загорелась, когда я просмотрел источник на странице внутри браузера Chrome.У меня была дополнительная скобка в операторе if.Вы сразу увидите красный круг с крестом на линии провала.Это довольно бесполезное сообщение об ошибке, поскольку токен Uncaught Syntax Error: Unexpected не ссылается на номер строки, когда он впервые появляется в консоли Chrome.

0 голосов
/ 18 июля 2013

Я получил «SyntaxError: Unexpected token I», когда использовал jQuery.getJSON(), чтобы попытаться десериализовать значение с плавающей запятой Infinity, закодированное как INF, что недопустимо в JSON.

0 голосов
/ 26 сентября 2015

В моем случае я столкнулся с той же ошибкой при запуске приложения Spring mvc из-за неправильного отображения в моем контроллере mvc

@RequestMapping(name="/private/updatestatus")

я изменил приведенное выше отображение на

 @RequestMapping("/private/updatestatus")

или

 @RequestMapping(value="/private/updatestatus",method = RequestMethod.GET)
0 голосов
/ 24 сентября 2013

Uncaught SyntaxError: неожиданный токен}

Chrome дал мне ошибку для этого примера кода:

<div class="file-square" onclick="window.location = " ?dir=zzz">
    <div class="square-icon"></div>
    <div class="square-text">zzz</div>
</div>

и решил, исправив щелчок мышью, чтобы он был похож на

... onclick="window.location = '?dir=zzz'" ...

Но ошибка не имеет ничего общего с проблемой ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...