JSONP, как получить текст - PullRequest
       7

JSONP, как получить текст

6 голосов
/ 23 марта 2010

Я понимаю , что делает JSON / JSONP, но я не программист и не знаю, как извлечь базовые основы для простого использования.Я много читал о JSONP и много примеров различного использования JSONP, но мне еще не удалось найти простой пример для извлечения текста с другой страницы (например, <a href="http://www.domain.com/external/text.aspx" rel="nofollow noreferrer">http://www.domain.com/external/text.aspx</a>).

Может кто-нибудь дать, пожалуйстаПример настройки JQuery / JSONP для извлечения текста в div?Я думаю, что это очень простое использование JSONP.

1 Ответ

13 голосов
/ 23 марта 2010

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

Если вам известен сервер с URL-адресом, предназначенным для приема и ответа на запросы JSONP, то он вернется к вам в виде выражения JSON, заключенного в вызов функции. Ваша страница будет содержать эту функцию, поэтому, когда результаты возвращаются с сервера, браузер интерпретирует выражение JSON и затем вызывает функцию.

Таким образом, если вы хотите создать сервис, который возвращает хороший блок текста, вы вызовете сервис следующим образом:

$.getJSON("http://www.domain.com/external/text.aspx?callback=", function(data) {
  $('#targetDiv').text(data.text);
});

Код jQuery подготовит все так, что серверу сообщат (через параметр «jsonp» в HTTP-запросе) имя вызываемой функции (и сам jQuery создаст эту функцию для вас). Сервер должен ответить примерно так:

jqueryFunctionName({text: "This is a nice block of text."})
...