Manual:Ajax/fr

MediaWiki offre une interface Ajax obsolète pour être utilisée par les extensions. Ajax est un terme pour utiliser JavaScript à charger des parties de page à la demande. MediaWiki 1.16 est fourni avec, et par conséquent l'utilisation de Sajax n'est pas recommandée.

Ainsi, le code JavaScript doit utiliser à la place (ou le module JavaScript mediawiki.api). On fera ainsi une requête à l' API MediaWiki sur AJAX (au lieu de ).

Demandes asynchrones
An asynchronous request sends some data to the server, and continues execution. Some time later, the server might return a response (depending on the type of request); in which case the response will be passed to a JavaScript function for handling. Another function may be supplied to handle the case that the request fails for some reason. Below is an example call to the login API by posting the username and password.

Alternativement vous pouvez utiliser les fonctions jQuery directement :

La fonction « mw.util.wikiScript » n'est disponible que depuis la version 1.18.

Requêtes synchronisées
The other kind of request sends some data to the server, and waits for the response. This means that the JavaScript will be blocked until the server returns some data, or the request fails for some reason. L'exemple suivant récupère la liste des modèles de « Pages liées » :

( is a JavaScript standard function that returns an object from its string representation in JSON format.)

Limitations
Due to the same origin policy, it is difficult for a script on an external site to retrieve data from a wiki that is hosted on a different domain &mdash; for example, one cannot directly retrieve data from  to. Newer browsers support an explicit instruction to permit this access via cross-origin resource sharing but this will only work with servers that are configured to issue the appropriate headers, and the user must be using a recent browser that recognises it. Developers with concerns about legacy browsers can't rely on CORS yet.

It is possible to circumvent the Same-Origin policy using JSONP instead of plain JSON which will work in older browsers (including Internet Explorer 6).

Fonctionnalités associées obsolètes
Sajax est une ancienne bibliothèque Ajax qui (depuis septembre 2012) fait encore partie du code du noyau et qui est utilisée par quelques extensions. Ne l'utilisez pas, remplacez la par. Certaines extensions au lieu d'utiliser Sajax ou pas, font des appels Ajax via le AjaxDispatcher qui est obsolète, en invoquant. Elles doivent les remplacer par des requêtes à l' MediaWiki pour les modules correspondants de l'API.

Voir aussi

 * - Extensions utilisant l'interface Ajax de MediaWiki.

Liens externes

 * (JavaScript module)
 * jQuery.ajax (jQuery method)

General information on XMLHttpRequest:
 * XMLHttpRequest specification at W3.org
 * XMLHttpRequest on Wikipedia
 * XMLHttpRequest on MDN