Visualisation d'une page Webjax
Ajax options (argument)
La puissance de l'objet Ajax de la librairie Prototype réside en grande part dans la quantité impressionnante d'arguments que l'on peut définir lors de requêtes Ajax (ndr : dans Ajax.Request, Ajax.Updater, Ajax.PeriodicalUpdater).
Ces arguments sont stockés au sein d'un objet qu'il conviendra d'après l'usage qui est fait de Prototype de nommer 'options'.
Cet objet 'options' n'est pas une classe et peut avoir une taille variable selon l'usage que l'on souhaite faire des requêtes Ajax.
N'importe quel objet peut être passé lors de l'appel du moment que les propriétés précisées correspondent à l'une de celles précisées dans le tableau ci après.
Propriété
Type
Défaut
Description
method
String
'post'
Méthode de transmission de la requête HTTP.
parameters
String
''
Chaîne de caractères dit 'url-formated'
(soit formaté pour la transmission via
url) contenant des valeurs que l'on
souhaite transmettre dans la requête
HTTP afin d'influer sur le serveur.
asynchronous
Boolean
true
Indique si la l'appel AJAX sera effectué
de manière asynchrone.
postBody
String
undefined
Variables ou contenu à transmettre
dans le cas d'une transmission par
HTTP_POST (ndr : voir exemple dans
cette page après le tableau).
requestHeaders
Array
undefined
Liste d'en-têtes HTTP à passer dans
la requête.
La liste doit avoir un nombre pair de
valeurs.
La base est que, une valeur est le
nom de l'en-tête HTTP à ajouter, la
valeur suivante, la valeur de l'en-tête
dans le contexte de la requête.
L'exemple suivant peut être utilisé
pour mieux comprendre :
['Content-type','application/pdf',
'Dc.Creator','nicoweb']
onXXXXX
Function (xmlhttprequest object)
undefined
Fonction personnalisée qui est
appeler lorsque l'évènement défini
par 'XXXXX' se produit.
Exemple : var myOptions = {
onComplete : voirReponseServeur
, onLoaded : enregistrerChargement }
Chaque fonction utilisée recevra un
argument contenant l'objet Ajax
ayant servi lors de l'appel AJAX.
Un autre argument peut être
renvoyé mais plus de précisions
sont nécessaires avant que celui
soit décrit.
onSuccess
Function ( xmlhttprequest object )
undefined
Fonction qui sera appellée lorsque
l'appel Ajax sera terminé avec
succès.
Comme précisé dans la case
présentant 'onXXXXX' un objet
contenant l'objet Ajax utilisé pour
l'appel sera transmis.
onFailure
Function ( xmlhttprequest object )
undefined
Fonction qui sera appelée lorsque
l'appel Ajax sera terminé avec des
erreurs durant le processus.
De la même manière que pour
tous les gestionnaires
d'évènements, l'objet Ajax ayant
servi pendant l'appel sera transmis
à la fonction.
onException
Function ( ajaxRequest , exception )
undefined
Fonction qui sera appelée
lorsqu'une exception sera
identifiée côté client lors de l'appel
Ajax (ndr : réponse invalide,
arguments invalides).
La fonction recevra deux objets, un
correspondant à l'objet Ajax utilisé
pour l'appel, l'autre à l'objet
d'Exception créé.
insertion
Insertion Class
undefined
Classe qui détermine de quelle
façon le nouveau contenu va être
inséré.
Cela peut-être Insertion.Before ,
Insertion.Top , Insertion.After ,
Insertion.Bottom .
S'applique uniquement aux objets
Ajax.Updater .
evalScripts
Boolean
undefined, 1
Permet de déterminer si du code
javascript retourné dans la
réponse Ajax doit être éxécuté ou
pas.
S'applique uniquement aux objets
Ajax.Updater .
decay
Number
undefined, 1
Permet de fixer un ralentissement
dans l'éxécution d'un Ajax.PeriodicalUpdater
lorsque la réponse reçue est la
même que la précédente.
Par exemple, si vous utilisez 2,
après qu'un rafraichissement
(ndr : un PeriodicalUpdater) est
produit le même résultat que le
précédent, l'objet attendra deux
fois plus de temps avant le
prochain rafraichissement.
Si cela se reproduit la fois d'après,
l'objet attendra quatre fois plus
de
temps etc etc
Vous pouvez laisser la valeur par
défaut ou précisé 1 pour empêcher le
ralentissement du
rafraichissement identique.
frequency
Number
undefined, 2
Interval (en secondes) entre les
rafraichissements.
S'applique uniquement aux
Ajax.PeriodicalUpdater .
Exemple d'utilisation de 'method' et 'parameters'
L'exemple de code Javascript présenté ci après permet de transmettre une requête AJAX suite à un click bouton.
Le code reprend la valeur du champ de test 'toto président, toto président' et la transmet au serveur.
Le code php se charge de déterminer la méthode de transfert de données et renvoie une simple chaîne de caractères réaffichant la valeur avec l'heure.
Le code Javascript reprend la main et présente la chaîne de caractères reçue via une fenêtre 'alert()'.
Voici présenté ci après le code PHP qui permet de renvoyer la chaîne qui s'affiche lorsque vous cliquez sur le bouton 'tester la requête.'
Exemple d'utilisation de 'evalScripts'
Comme nous avons pu le voir précédemment dans le tableau si vous suivez le cours de cette page, il est possible de demander
à un serveur distant de renvoyer du code Javascript afin de l'exécuter sur le poste client et ainsi marquer la fin d'une action,
une erreur etc....
L'exemple de code Javascript suivant permet de contacter un serveur de façon simple sans arguments (ndr : contexte d'exemple) et de traiter le retour
Javascript du serveur.
Nous remarquons ici l'utilisation de la classe Ajax.Updater afin pouvoir préciser un donner un sens à l'argument 'evalScripts' (ndr : Ajax.Request ne
se destine pas forcément à la mise à jour d'éléments de l'interface).
zone de retour de la requête
Vous pouvez prendre connaissance ci après du code PHP nécessaire pour provoquer l'affichage d'une fenêtre 'alert()' Javascript de façon
automatique suite à l'utilisation de Ajax.Updater.
Ces arguments sont stockés au sein d'un objet qu'il conviendra d'après l'usage qui est fait de Prototype de nommer 'options'.
Cet objet 'options' n'est pas une classe et peut avoir une taille variable selon l'usage que l'on souhaite faire des requêtes Ajax.
N'importe quel objet peut être passé lors de l'appel du moment que les propriétés précisées correspondent à l'une de celles précisées dans le tableau ci après.
| Propriété | Type | Défaut | Description |
| method | String | 'post' | Méthode de transmission de la requête HTTP. |
| parameters | String | '' | Chaîne de caractères dit 'url-formated' (soit formaté pour la transmission via url) contenant des valeurs que l'on souhaite transmettre dans la requête HTTP afin d'influer sur le serveur. |
| asynchronous | Boolean | true | Indique si la l'appel AJAX sera effectué de manière asynchrone. |
| postBody | String | undefined | Variables ou contenu à transmettre dans le cas d'une transmission par HTTP_POST (ndr : voir exemple dans cette page après le tableau). |
| requestHeaders | Array | undefined | Liste d'en-têtes HTTP à passer dans la requête. La liste doit avoir un nombre pair de valeurs. La base est que, une valeur est le nom de l'en-tête HTTP à ajouter, la valeur suivante, la valeur de l'en-tête dans le contexte de la requête. L'exemple suivant peut être utilisé pour mieux comprendre : ['Content-type','application/pdf', 'Dc.Creator','nicoweb'] |
| onXXXXX | Function (xmlhttprequest object) | undefined | Fonction personnalisée qui est appeler lorsque l'évènement défini par 'XXXXX' se produit. Exemple : var myOptions = { onComplete : voirReponseServeur , onLoaded : enregistrerChargement } Chaque fonction utilisée recevra un argument contenant l'objet Ajax ayant servi lors de l'appel AJAX. Un autre argument peut être renvoyé mais plus de précisions sont nécessaires avant que celui soit décrit. |
| onSuccess | Function ( xmlhttprequest object ) | undefined | Fonction qui sera appellée lorsque l'appel Ajax sera terminé avec succès. Comme précisé dans la case présentant 'onXXXXX' un objet contenant l'objet Ajax utilisé pour l'appel sera transmis. |
| onFailure | Function ( xmlhttprequest object ) | undefined | Fonction qui sera appelée lorsque l'appel Ajax sera terminé avec des erreurs durant le processus. De la même manière que pour tous les gestionnaires d'évènements, l'objet Ajax ayant servi pendant l'appel sera transmis à la fonction. |
| onException | Function ( ajaxRequest , exception ) | undefined | Fonction qui sera appelée lorsqu'une exception sera identifiée côté client lors de l'appel Ajax (ndr : réponse invalide, arguments invalides). La fonction recevra deux objets, un correspondant à l'objet Ajax utilisé pour l'appel, l'autre à l'objet d'Exception créé. |
| insertion | Insertion Class | undefined | Classe qui détermine de quelle façon le nouveau contenu va être inséré. Cela peut-être Insertion.Before , Insertion.Top , Insertion.After , Insertion.Bottom . S'applique uniquement aux objets Ajax.Updater . |
| evalScripts | Boolean | undefined, 1 | Permet de déterminer si du code javascript retourné dans la réponse Ajax doit être éxécuté ou pas. S'applique uniquement aux objets Ajax.Updater . |
| decay | Number | undefined, 1 | Permet de fixer un ralentissement dans l'éxécution d'un Ajax.PeriodicalUpdater lorsque la réponse reçue est la même que la précédente. Par exemple, si vous utilisez 2, après qu'un rafraichissement (ndr : un PeriodicalUpdater) est produit le même résultat que le précédent, l'objet attendra deux fois plus de temps avant le prochain rafraichissement. Si cela se reproduit la fois d'après, l'objet attendra quatre fois plus de temps etc etc Vous pouvez laisser la valeur par défaut ou précisé 1 pour empêcher le ralentissement du rafraichissement identique. |
| frequency | Number | undefined, 2 | Interval (en secondes) entre les rafraichissements. S'applique uniquement aux Ajax.PeriodicalUpdater . |
Exemple d'utilisation de 'method' et 'parameters'
L'exemple de code Javascript présenté ci après permet de transmettre une requête AJAX suite à un click bouton.
Le code reprend la valeur du champ de test 'toto président, toto président' et la transmet au serveur.
Le code php se charge de déterminer la méthode de transfert de données et renvoie une simple chaîne de caractères réaffichant la valeur avec l'heure.
Le code Javascript reprend la main et présente la chaîne de caractères reçue via une fenêtre 'alert()'.
Voici présenté ci après le code PHP qui permet de renvoyer la chaîne qui s'affiche lorsque vous cliquez sur le bouton 'tester la requête.'
Exemple d'utilisation de 'evalScripts'
Comme nous avons pu le voir précédemment dans le tableau si vous suivez le cours de cette page, il est possible de demander à un serveur distant de renvoyer du code Javascript afin de l'exécuter sur le poste client et ainsi marquer la fin d'une action, une erreur etc....
L'exemple de code Javascript suivant permet de contacter un serveur de façon simple sans arguments (ndr : contexte d'exemple) et de traiter le retour Javascript du serveur.
Nous remarquons ici l'utilisation de la classe Ajax.Updater afin pouvoir préciser un donner un sens à l'argument 'evalScripts' (ndr : Ajax.Request ne se destine pas forcément à la mise à jour d'éléments de l'interface).
zone de retour de la requête
Vous pouvez prendre connaissance ci après du code PHP nécessaire pour provoquer l'affichage d'une fenêtre 'alert()' Javascript de façon automatique suite à l'utilisation de Ajax.Updater.

:

