Zrozumienie domeny XHR i danych XML

Od jakiegoś czasu pracuję z JavaScriptem i AJAX-em, chciałbym zrozumieć, jak naprawdę działa Cross Domain XHR i jak JQuery go obsługuje, z jakiegoś powodu nigdy nie zastanawiałem się, jak to naprawdę działa. przeczytałemWikipedia JSONP artykuł i jestem bardziej zdezorientowany. Nie jestem pewien, czego nie rozumiem.

Zdaję sobie sprawę, że używanieJSONP Mogę konsumowaćJSON dane bezpośrednio w JavaScript. Na przykładten przykład JS Fiddle. Tutaj używamJSON aby wyświetlić listę obrazów. Czy mogę osiągnąć to samo używającXML zamiast tego dane? Przeczytaj resztę analogii, zanim odpowiesz na tę część pytania.

1) Jeśli spróbuję czegoś takiego poniżej lubŁącze skrzypcowe Dostaję błądUncaught 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) Przykład poniżej lublink skrzypcowy działa w porządku

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

P) Przypuszczam, że od 1 do 2, ponieważ zwracane dane mają formatjsonFlickrFeed({}) musimy napisać funkcję zwrotną jsonFlickrFeed, aby działała?

P) Dlaczego nigdy nie wywołuje wywołania zwrotnego sukcesu?

Q) Czy jest to punkt końcowy Flickr, który wykonuje zadanie zwrotu JSONP (przez co rozumiem dane w formaciejsonFlickrFeed({}))? Czy może po prostu zwraca rzeczywiste klocki JSON i JQuery?

3) Z$.getJSON kod jest podobny do poniższego lubskrzypce

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

P) Jak JQuery zajmuje się tym w przypadku 3)? Widzę, że zwrócone dane są w formaciejQuery1820349100150866434_1355379638775({}) Więc jeśli założę, że JQuery wykonuje zadanie powiązania JSON z wywołaniem zwrotnym, czy jest ono poprawne?

P) Z powyższego powodu nazywany jest skrótową metodą JQuery?

Z tego, co próbowałem, nie udało mi się zużyć danych XML. Nie byłem w stanie wymyślić sposobu konsumowania danych XML zamiast JSON.

P) Czy możliwe jest wykorzystanie danych XML zamiast JSON w podobny sposób?

P) Jedynym sposobem, w jaki mogę pomyśleć o zrobieniu tego, jest przekazanie danych przez tę samą domenę. Czy to zrozumienie jest prawidłowe?

Jeśli to pomaga, toPrzykład XML Mam w Dropbox. Ma to na celu wykazanie, że dane XML mogą być analizowane, gdy pochodzą z tej samej domeny.

questionAnswers(2)

yourAnswerToTheQuestion