Понимание междоменных данных XHR и XML

Я работаю с JavaScript и AJAX довольно давно, я хотел бы понять, как на самом деле работает Cross Domain XHR и как JQuery справляется с этим, по какой-то причине я никогда не задумывался о том, как это работает на самом деле. я прочиталВикипедия JSONP статья и я более запутался. Я не уверен, что я не понимаю.

Я знаю, что с помощьюJSONP Я могу потреблятьJSON данные напрямую в JavaScript. Напримерэтот пример JS Fiddle, Здесь я используюJSON для отображения списка изображений. Могу ли я достичь того же, используяXML данные вместо? Пожалуйста, прочитайте остальную часть аналогии, прежде чем ответить на эту часть вопроса.

1) Если я попробую что-то вроде ниже илиСкриптовая ссылка Я получаю ошибкуUncaught ReferenceError: jsonFlickrFeed is not defined

​$.ajax({
    url: "http://api.flickr.com/services/feeds/photos_public.gne",
    data: {
        format: "json"
    },
    dataType: "jsonp",
    success: function(d) {
        console.log(d);
    }
});​

2) Пример ниже илискриптовая ссылка работает отлично

$.ajax({
    url : "http://api.flickr.com/services/feeds/photos_public.gne",
    data: {format: "json"},
    dataType: "jsonp"
});
jsonFlickrFeed = function(d){
    console.log(d);
}

Q) Я полагаю, между 1 и 2, так как возвращаемые данные в формате, какjsonFlickrFeed({}) нам нужно написать функцию обратного вызова jsonFlickrFeed, чтобы она работала?

Q) Почему он никогда не вызывает успешный обратный вызов?

Q) Это конечная точка Flickr, которая выполняет работу по возвращению JSONP (под которой я подразумеваю данные в форматеjsonFlickrFeed({}))? Или он просто возвращает реальные JSON и JQuery пэды?

3) С$.getJSON код что-то вроде ниже илииграть на скрипке

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", {
    format: "json"
}, function(d) {
    console.log(d)
});​

Q) Как JQuery позаботится об этом в случае 3)? Я вижу, что возвращенные данные в форматеjQuery1820349100150866434_1355379638775({}) Так что, если я предполагаю, что JQuery выполняет работу по связыванию JSON с обратным вызовом, это правильно?

Q) По вышеуказанной причине это называется сокращенным методом JQuery?

Что бы я ни пытался, я не смог использовать данные XML. Я не смог придумать, как использовать XML-данные вместо JSON.

В) Можно ли использовать XML-данные вместо JSON аналогичным образом?

Q) Единственный способ, которым я могу думать об этом, - это проксирование данных через один и тот же домен. Это понимание правильно?

Если это поможет здесьПример XML У меня есть на Dropbox. Который должен продемонстрировать, что данные XML могут быть проанализированы, когда они происходят из того же домена.

Ответы на вопрос(2)

Ваш ответ на вопрос