PHP rocks! wünscht allen Mitgliedern einen guten Rutsch ins neue Jahr 2017 !!!
Hinweis: Das Forum zieht um! Um keine Datenverluste zu haben, schalten wir zwecks Übernahme der Daten das Forum am Sonntag, den 24.04.2016 um ca. 21:00 Uhr offline und passen anschliessend die DNS-Einträge an.
www.php-rocks.de wird euch dann nach den Aktualisierungen der DNS-Server wieder wie gewohnt uneingeschränkt zur Verfügung stehen.
Danke für euer Verständnis!

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
jQuery $.ajax - JSONP vs. JSON - parse error
#1
Ich habe einen Ajax Request (API, bisher ohne diese Probleme im Einsatz) welcher eigentlich problemlos funktioniert.
Wenn ich allerdings bei einer bestimmten Funktion JSONP benutze wirft der jQuery Error Handler einen "parsererror", also bei
Code:
dataType: 'jsonp'
Das eigentliche Script funktioniert allerdings! D.h. die Daten werden korrekt der callback Funktion übergeben und die Funktionalität ist eigentlich gegeben bis auf diese unschöne Fehlermeldung.

Wenn ich einen "normalen" ajax request verwende, also
Code:
dataType: 'json'
erscheint auch die Fehlermeldung nicht, es wird allerdings natürlich auch das callback nicht ausgeführt und das script nicht injeziert.

Ist das ein jQuery Problem oder mache ich da irgendwas falsch?
Und ist es nicht so, daß bei einem jsonp request jQuery das result eigentlich gar NICHT parsen muß, dies sollte doch eigentlich alles von der callback Funktion gehandelt werden?
Es solllte hier doch eigentlich gar kein ajax request stattfinden sondern eine script injektion?
Oder macht jQuery das nicht automatisch, sollte ich überhaupt $.ajax für jsonp requests verwenden oder einen anderen/eigenen wrapper, vielleicht ist es eigentlich nicht dafür angedacht?
Antworten
#2
Hallo,

Das hier hab ich auf die Schnelle gefunden:
https://learn.jquery.com/ajax/working-with-jsonp/

Dort scheint es zu gehen, ob es Dir weiterhilft, weiss ich allerdings nicht

Gruß Arne
Antworten
#3
Nicht so wirklich.

Ich möchte eine benutzerdefinierte Funktion übergeben, also anstatt jQuery1234... .
Code:
jsonp: "callback",
jsonpCallback: _jsonpCallback,  
Ich ging davon aus, dies umgeht das parsen durch jQuery, scheint aber nicht der Fall?
Wundern tut mich dabei, daß die Funktionalität gegeben ist, das Script also injeziert wird, es wird allerdings versucht etwas zu parsen wo nichts zu parsen ist?

Edit: Die Netzwerkanalyse sagt mir auch das die korrekte Url (callback) aufgerufen wird, also keine jQuery Funktion eigentlich...
Antworten
#4
Ich habe an dieser Stelle nun Abstand von jQuery genommen und verwende für jsonp hier nun eine andere getScript Funktion.
Antworten


Gehe zu: