00willson: jQuery, $.ajax, JSONP + callback

Hallo zusammen,

habe ein Problem mit jQuery's JSONP und Callback. Also los: ich möchte $.ajax mit dataType "jsonp" verwenden. Request funktioniert, alles fein. Um auch das Error-Handling abzudecken, würde ich gern success, error und complete von $.ajax verwenden. Allerdings: liefert der Response etwa "customFeed({...})", so benötige ich einen eigenen Callback namens "function customFeed() {}". Andernfalls erhalte ich die verständliche Fehlermeldung, dass customFeed() unbekannt sei. Nun möchte ich aber keinen eigenen Callback, sondern den Standard von $.ajax. Wie muss der JSONP-Resonse aussehen, damit ich den Standard-Callback verwenden kann?

Als Bsp.:
Flickr liefert für $.ajax mit dataType: "jsonp" und jsonp: "jsoncallback" den Response "jsonp1287320248082({...})", der den $.ajax-Standard success triggert (http://api.flickr.com/services/feeds/photos_public.gne?callback=jsonp1287320248082&lang=en-us&format=json&tags=sunset). Liegt dies an der Callback-Funktion, die dem Value des callback-Parameters trägt?

Und:
mein JSONP-Response ist statisch, auf den Value des callback-Parameters kann ich also nicht reagieren...

Für Ideen bin ich dankbar. Gute Nacht.

  1. Hi,

    Für Ideen bin ich dankbar. Gute Nacht.

    oh, eine Idee habe ich: Benutze JSON anstatt JSONP. Offenbar ist es das was Du willst.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      bin auf JSONP angewiesen, weil cross domain request.

      Tatsächlich geht es nur darum, wie die callback-Funktion heißen muss, damit ich den $.ajax-Standard nutzen kann und keine eigene callback-Funktion benötige.
      Weiterhelfen würde mir auch schon die Info, was denn im Fehlerfall passiert. Nix? Gibt es einen timeout für den AJAX-Request?

      Danke.

      1. Hi,

        Tatsächlich geht es nur darum, wie die callback-Funktion heißen muss, damit ich den $.ajax-Standard nutzen kann und keine eigene callback-Funktion benötige.

        JSONP hat den *Zweck*, eine eigene Callback-Funktion zu verwenden. Es *muss* das umgehen, was Du als $.ajax-Standard titulierst.

        Weiterhelfen würde mir auch schon die Info, was denn im Fehlerfall passiert. Nix? Gibt es einen timeout für den AJAX-Request?

        Es ist kein AJAX-Request. Es ist das Einfügen eines <script src> an geeigneter Stelle des Objektbaumes. Stelle Dir vor, das <script src> stünde bereits im HTML-Code - wie würdest Du den Fehlerfall behandeln? Was _wäre_ überhaupt der Fehlerfall?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes