Основные инструкции для перекрестного домена jsonp

Я везде искал это для этого. Мне нужно просто простое "How-to" перетащить перекрестный домен jsonp. Я использую jQuery 1.5.1.

Я пробовал следующее в программе на другом сайте:

$.getJSON("http://www.mydomain.com/testjson.json?jsoncallback=?", function(data) {
    alert("I'm hitting this.");
}

Это не работает вообще.

Есть ли способ сделать простой вызов jQuery jQuery для перекрестного домена?

Спасибо

Ответы

Ответ 1

JSONP требует, чтобы сервер успешно работал. Вы не можете вытаскивать случайные страницы с помощью JSONP и ожидать, что они добьются успеха; сервер должен знать:

  • Ему нужно сформулировать ответ JSONP, а не ответ JSON.
  • Он должен знать имя функции, чтобы обернуть ответ.

Если вы не уверены в том, почему серверу необходимо это знать или какие различия между JSON и JSONP, вы должны прочитать их; или все это не имеет смысла. Для начала ознакомьтесь с Может ли кто-нибудь объяснить, что такое JSONP, в условиях неспециалиста? и http://en.wikipedia.org/wiki/JSONP.

Понимая это немного, вы, вероятно, обнаружите, что сервер возвращает

{ "key": 1, "bar": "foo" }

(который действителен JSON), а не:

someCallback({ "key": 1, "bar": "foo" })

который является ответом JSONP.

Ответ 2

Если вы попытаетесь выполнить http://terrasus.com/detail.jsp?articleID=396 шаг за шагом, он будет работать нормально. если вы создаете ответ jsonp, вы должны получить значение обратного вызова и динамически настроить его на свой ответ. Эта статья содержит подробное описание