API:Cross-site requests/de

Wenn ein Nutzerskript oder Gadget einen API-Aufruf gegen eine andere MediaWiki-Seite machen muss (wenn z.B. ein Skript auf der englischen Wikipedia Bildinformationen auf Commons prüfen muss), muss es JSONP oder CORS benutzen.

Benutzung von JSONP
Die API  nimmt einen "Callback"-Parameter an, der eine JavaScript-Funktion benennt, in das das JSON-Ergebnis eingebunden wird. Das kann man einsetzen, um die API auf einer entfernten Seite aufzurufen, indem man dynamische -Tags zum Dokument hinzufügt.

Beachte, dass alle JSONP-Anfragen nach dem Ausloggen verarbeitet werden, sogar wenn die Browsersitzung gegen das entfernte Wiki authentifiziert wurde.

Benutzung von CORS
Damit eine CORS-Anfrage vom entfernten Wiki erlaubt wird, muss  so eingestellt sein, dass die Herkunftsseite erlaubt wird. The MediaWiki API also requires that the origin be supplied as a request parameter, appropriately named "origin", which is matched against the Origin header required by the CORS protocol. Note that this header must be included in any pre-flight request, and so should be included in the query string portion of the request URI even for POST requests.

If the CORS origin check passes, MediaWiki will include the  header in the response, so authentication cookies may be sent.

Between Wikimedia wikis CORS is enabled since September 2012; as of October 2013 CORS pre-flight requests are also supported.

See Manual: CORS for instructions on how to handle CORS requests in JavaScript.