Tutorials

Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.

Zurück zur Übersicht

AngularJS: JSONP benutzen und Fehler vermeiden

#Tutorials#Javascript

AngularJS kann von Haus aus JSONP und dies funktioniert auch super. Hier mal ein kleines Beispiel, wie man JSONP mit Angular benutzt. ($http muss natürlich in eurer App/Controller eingebunden)


$http.jsonp('https://myurl.com/getlist?callback=JSON_CALLBACK')
   .success(function (data) {
      $scope.jsonObject = data;
   }
);

Wichtig dabei ist, dass der Callback JSON_CALLBACK heißt. Dies ist ein interner Angular Call und bewirkt, dass ihr in der Success-Funktion gleich die Daten habt.

Allerdings hatte ich sehr lange folgenden Fehler dabei:


Uncaught ReferenceError: angularcallbacks0 is not defined

Ich habe dann lange gesucht und debuggt und konnte mir den Fehler einfach nicht erklären, bis ich gelesen habe, dass Angular die Funktion JSON_CALLBACK intern durchnummeriert, damit mehrere gleichzeitige Requests möglich sind. Allerdings nennt Angular das Callback immer so:

angular.callbacks._0
angular.callbacks._1
angular.callbacks._xxx

Wie oben in der Fehlermeldung dann zu sehen ist, findet er Funktion angularcallbacks0 nicht. Das heißt, dass irgendetwas die Punkte oder sonstige Zeichen entfernt hat, die weder Zahl noch Buchstabe sind. Bei mir lag es an einem PHP-Script, dass die Callback Funktion gefiltert hat und alle Sonderzeichen gelöscht hat bevor es die Funktion ausgeliefert hat.


Kommentare

Es gibt noch keine Kommentare. Sei der Erste!

Hinterlasse einen Kommentar

Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.