Das Problem:

Letztens hatte ich das Problem, das ein Suggester Daten per Ajax von einer anderen Domain anfragen sollte. Da Ajax-Requests in der Regel nur innerhalb der gleichen Domain gestellt werden darf, und es sonst zu dem Cross-Domain-Problem kommt, brauchte ich eine entsprechende Lösung. Hier beschreibe ich einmal wie ich dieses Problem dank der JSONP-Logik gelöst habe.


JSONP als Lösung:

Im Prinzip arbeitet JSONP (das P steht für Padding) als Erweiterung zu JSON (JavaScript Object Notation) mit einem sogenannten Hash-Key. Hierbei übergibt man im Query-String einen Funktionsnamen als Wert eines wohldefinierten (zwischen Client und Server) Parameters.

Serverseitig wird dieser Funktionsname aus dem Query-String gelesen und (meist inkl. der angeforderten Daten) beim HTTP-Response an den Client zurückgesandt. Diesen Response können wir dann Clientseitig per Javscript auswerten. Die JSONP-Technik erlaubt so z.B. auch das Nachladen von Scripten inkl. OnLoad-Eventhandling.

weiter lesen…