PHP Rocks
jQuery $.ajax - JSONP vs. JSON - parse error - Druckversion

+- PHP Rocks (https://www.php-rocks.de)
+-- Forum: HTML, CSS, Usability und Barrierefreiheit (https://www.php-rocks.de/https://www.php-rocks.de/forum/11-html-css-usability-und-barrierefreiheit.html)
+--- Forum: JavaScript / JavaScript Frameworks / Ajax (https://www.php-rocks.de/https://www.php-rocks.de/forum/13-javascript-javascript-frameworks-ajax.html)
+--- Thema: jQuery $.ajax - JSONP vs. JSON - parse error (/https://www.php-rocks.de/thema/92--ajax-jsonp-vs-json-parse-error.html)



$.ajax - JSONP vs. JSON - parse error - Till - 23.02.2016

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?


RE: $.ajax - JSONP vs. JSON - parse error - Arne Drews - 23.02.2016

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


RE: $.ajax - JSONP vs. JSON - parse error - Till - 23.02.2016

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...


RE: $.ajax - JSONP vs. JSON - parse error - Till - 27.02.2016

Ich habe an dieser Stelle nun Abstand von jQuery genommen und verwende für jsonp hier nun eine andere getScript Funktion.