У меня есть Uncaught SyntaxError: Неожиданный токен: при вызове getJSON. Почему?

0

Я использую restfull api http://applications.opap.gr/DrawsRestServices/kino/last.json

Этот url возвращает в json формате "номера игр", которые выиграли в игре под названием "Кино",

результаты в браузере примерно такие:

{"draw":{"drawTime":"18-04-2014T10:15:00","drawNo":437017,"results":[6,9,12,16,17,21,24,26,31,36,38,53,54,55,61,63,67,69,75,79]}}

Я пытаюсь получить эти числа, используя функцию jquery:

function get_game_results_json() {
$.getJSON("http://applications.opap.gr/DrawsRestServices/kino/last.json?callback=?", function(result){
   alert(result);
});
}

a) Моя первая проблема заключается в том, что когда я перехожу к консоли вкладок google chrome, у меня есть " Uncaught SyntaxError: Unexpected token: "

Но в то же время в сети табуляции у меня есть ответ, который выглядит так, как работает

draw: {drawTime:18-04-2014T10:20:00, drawNo:437018,…}
  drawNo: 437018
  drawTime: "18-04-2014T10:20:00"
  results: [6, 8, 15, 28, 32, 33, 37, 38, 39, 40, 45, 50, 58, 59, 68, 69, 72, 75, 79, 80]

Почему у меня есть неожиданный токен? Есть идеи?

b) Не могли бы вы предложить способ правильно разобрать ответ json и сохранить каждый узел json в другую переменную?

drawNo результаты розыгрыша

  • 2
    Перекрестная происхождение? Если это так, сервер, вероятно, должен поддерживать JSONP вместо необработанного JSON. {"a":"b", ...} не является допустимым кодом Javascript и, следовательно, ошибкой.
  • 0
    Это может быть первый объект в отклике, который имеет время с :
Показать ещё 1 комментарий
Теги:
rest

1 ответ

5
Лучший ответ

Вы делаете перекрестный вызов с аргументом callback. Это означает, что вы используете JSONP.

Ответ, который вы получаете, это JSON, а не JSONP.

Попытка разобрать JSON, поскольку JSONP выдает ошибку.

API, к которому вы обращаетесь, не поддерживает ничего, что позволит запросить кросс-начало. Получайте данные из него, используя ваш сервер, а не браузеры ваших посетителей.

  • 0
    Вы говорите, что у функции обратного вызова есть проблема, верно? Как вы определили, что API не поддерживает перекрестный запрос? Так как во вкладке сеть в Chrome у меня есть ответ. Есть ли способ получить этот ответ в локальных переменных Javascript через jquery?
  • 0
    "Вы говорите, что у функции обратного вызова есть проблема, верно?" - Нет, проблема в том, что API вообще не вызывает вашу функцию обратного вызова.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню