Как получить доступ к API с помощью jQuery - PullRequest
1 голос
/ 26 мая 2009

В jQuery есть классные методы, такие как getJSON, get и load. Однако все они в конце делают вызов AJAX.

Я пытаюсь получить доступ к API www.eventsinindia.com/cities/mumbai/events.js?month=2009-05.

Этот вызов API возвращает данные в формате JSON.

Я не смог найти способ вызвать этот API из jQuery и получить выходные данные в формате JSON. Я продолжаю получать доступ к ограниченному URI "отказано": ошибка code: "1012, потому что jQuery пытается сделать AJAX-вызов. Вызов AJAX с отдельной страницы на сервер запрещен.

Ответы [ 3 ]

2 голосов
/ 26 мая 2009

Поскольку он находится в другом домене, вы используете обратный вызов JSONP?

http://docs.jquery.com/Ajax/jQuery.getJSON

Начиная с jQuery 1.2, вы можете загрузить JSON данные, расположенные в другом домене, если вы указать обратный вызов JSONP, который может быть сделано так: "myurl? callback =?". JQuery автоматически заменяет? с правильным именем метода для вызова, звонить по указанному вами обратному вызову. это параметр обратного вызова может варьироваться в зависимости на API, например, Yahoo Pipes требуется "_callback =?"

1 голос
/ 26 мая 2009

Если это не междоменный запрос, вам просто нужно:

jQuery.getJSON("/cities/mumbai/events.js?month=2009-05", function(json) {
    alert(json[0]);
});
0 голосов
/ 26 мая 2009

Как предложил @ceejayoz, * метод 1001 * JSONP должен использоваться для доступа к данным в другом домене. Но для того, чтобы это работало, сценарий на стороне сервера должен быть включен JSONP, что означает, что он должен принимать параметр, который будет определять имя функции обратной передачи клиента для добавления данных JSON. Если это не так, вам нужно написать серверный скрипт в домене, где размещен ваш клиентский скрипт, который будет служить мостом к чужому домену.

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