Во-первых, важно понимать, что для работы 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."})