2015-02-27 9 views
0

Простите меня, я совершенно не знаком с JSON/JSONP/AJAX и занимаюсь этим в течение последних 24 часов и не могу понять это. Ваша помощь будет оценена по достоинству.Uncaught SyntaxError: Неожиданный токен:

Я пытаюсь получить информацию из простого файла JSON с другого сервера и показать его очень просто на моем веб-сайте.

JSON файл я пытаюсь вытащить информацию из: http://evewho.com/api.php?type=corplist&id=98224089

Я пытаюсь отобразить только имена персонажей из этого JSON здесь внутри #characters DIV: http://anomaly47.com/jsonp_test.html

До сих пор Я просто пытаюсь подключиться и посмотреть информацию объектов, используя следующий код:

$(document).ready(function() { 

var url = 'http://evewho.com/api.php?type=corplist&id=98224089&callback=?'; 

    $.getJSON(url, null, function(data){ 
     console.log(data); 
     } 
) 

}); 

я получаю следующее сообщение об ошибке в консоли:

Uncaught SyntaxError: Неожиданный маркер: api.php тип = corplist & ID = 98224089 & обратного вызова = jQuery1111010067848535254598_1425072137785 & _ = 14250721377 ...: 1

Я не уверен, что я делаю неправильно здесь.

Еще раз спасибо!

+0

попытаться изменить '«& обратного вызова =?» 'На' '& jsoncallback =?' ' – levi

+0

Изменил его и получил аналогичную ошибку: Uncaught SyntaxError: Неожиданный токен: api.php? type = corplist & id = 98224089 & jsoncallback = jQuery111106458904333412647_1425073376470 & _ = 14250733 ...: 1 – anomaly47

+0

@ anomaly47 Все параметры для запросов с кросс-началом требуют некоторая поддержка запрашиваемой конечной точки. Они не являются функциями HTTP по умолчанию, поэтому владельцы должны намеренно добавить эту поддержку. Возможно, он просто ожидает другого имени параметра, чем 'callback =', как пытался предположить levi. Вы должны проверить документацию API для получения любой информации об использовании JSONP. Хотя, если он не предлагает поддержки, запрос может быть просто невозможен с помощью Ajax. –

ответ

1

Не все API, которые обслуживают json, доступны с помощью ajax.

Ваш API не возвращает формат данных jsonp и не поддерживает CORS.

Если это ваш сайт и вы делаете запрос из того же домена, удалите &callback=? с url, так как это сообщает jQuery, что запрос предназначен для jsonp.

Если запрос крест домена вам нужно будет настроить прокси на сервере, чтобы получить данные и сделать свой AJAX вызов на прокси-скрипт

Смежные вопросы