Fonction permettant de faire une requête AJAX.
import * as ajax from '[@ecommit](https://github.com/ecommit)/crud-bundle/js/ajax';
ajax.sendRequest({
url: '/test',
//Options
});
Options :
| Option | Description | Requis | Valeur par défaut |
|---|---|---|---|
| url | Url de l'action Ajax | Oui | |
| update | Si défini, mise à jour du DOM avec le résultat. (voir doc de la fonction updateDom plus bas) |
Non | |
| updateMode | Méthode à utiliser pour la mise à jour du DOM (voir doc de la fonction updateDom plus bas) |
Non | update |
| onBeforeSend | Callback(s) lancé(s) avant l'envoi de la requête. Function(options). Dans le callback peut passer options.stop = false pour annuler la requête. |
Non | |
| onSuccess | Callback(s) lancé(s) en cas de succès (code de réponse HTTP 200-299). Function(data, response). data: Donnée de la réponse. Voir option responseDataType pour le format attenduresponse: Objet de type Response |
Non | |
| onError | Callback(s) lancé(s) en cas d'erreur (code de réponse HTTP ≠ 200-299 ou erreur avant la réponse). Function(statusText, response) statusText: statusText de la réponse (si réponse). Sinon mesage d'erreur au format stringresponse: Objet de type Response si réponse, nulm sinon |
Non | |
| onComplete | Callback(s) lancé(s) après les callbacks onSuccess ou onError. Function(statusText, response). Voir options onSuccess et onError pour détails sur statusText et response |
Non | |
| successfulResponseRequired | En cas de code de réponse HTTP ≠ 200-299: Si cette option est vraie, la promesse est alors rejetéeSinon elle est résolue | Non | false |
| responseDataType | Format de donnée de réponse attendu dans le callback OnSuccess. Valeurs disponibles: text: Format stringjson: Objet JavaScript converti depuis une réponse JSONAutre valeur: NULL (donnée de réponse à récupérer manuellement dans l'objet Response) |
Non | text |
| method | Méthode HTTP | Non | POST |
| body | Données envoyées dans le corps de la requête. Types de données acceptés: StringFormDataObjet | Non | |
| query | Paramètres à rajouter dans l'URL | Non | { } |
| cache | Utilise ou non le cache | Non | false |
| options | Tableau d'options de la fonction Fetch | Non | { } |
Promesses :
La fonction sendRequest retourne une promesse.
successfulResponseRequired est à false, alors la promesse résout l'objet Response représentant la réponse à la requête.onBeforeSend ou les événements ec-crud-ajax / ec-crud-ajax-before-send), la promesse résout une valeur nulle.Événements :
| Événement | Objet | Description | Propriétés disponibles |
|---|---|---|---|
| ec-crud-ajax | CustomEvent (cancelable) | Appelé avant l'exécution de la requête, avant la résolution des options. Peut annuler la requête avec event.preventDefault() |
event.detail.options |
| ec-crud-ajax-before-send | CustomEvent (cancelable) | Appelé avant l'exécution de la requête, après la résolution des options. Peut annuler la requête avec event.preventDefault() |
event.detail.options |
| ec-crud-ajax-on-success | CustomEvent | Même fonctionnement que callback onSuccess |
event.detail.dataevent.detail.response |
| ec-crud-ajax-on-error | CustomEvent | Même fonctionnement que callback onError |
event.detail.statusTextevent.detail.response |
| ec-crud-ajax-on-complete | CustomEvent | Même fonctionnement que callback onComplete |
event.detail.statusTextevent.detail.response |
Fonction permettant de faire une requête AJAX lors d'un clic sur élément du DOM.
L'élément du DOM doit avoir l'attribut HTML data-ec-crud-toggle="ajax-click".
Toutes les options de la fonction sendRequest peuvent être utilisées en les passant par les attributs data-. Pour cela:
data-ec-crud-ajax-sendRequest sont en camelCase. Pour leur écriture par des attributs HTML, remplacer chaque nouveau mot en majuscule par un tiret.
Exemple: L'équivalent de l'option updateMode est data-ec-crud-ajax-update-mode en attribut HTML.Exemple :
<button data-ec-crud-toggle="ajax-click" data-ec-crud-ajax-url="/goodRequest">Go !</button>
Fonction permettant de faire une requête AJAX lors d'un clic sur lien.
Toutes les options de la fonction sendRequest peuvent être utilisées en les passant par les attributs data-. Pour cela:
data-ec-crud-ajax-sendRequest sont en camelCase. Pour leur écriture par des attributs HTML, remplacer chaque nouveau mot en majuscule par un tiret.
Exemple: L'équivalent de l'option updateMode est data-ec-crud-ajax-update-mode en attribut HTML.Le lien doit avoir l'attribut HTML data-ec-crud-toggle="ajax-link".
Exemple :
<a href="/goodRequest" data-ec-crud-toggle="ajax-link">Go !</a>
L'URL utilisée pour la requête Ajax est:
data-ec-crud-ajax-url (si présent)href<a href="/goodRequest" id="linkToTest">Go !</a>
import * as ajax from '[@ecommit](https://github.com/ecommit)/crud-bundle/js/ajax';
//Argument n°1: Lien
//Argument n°2: Options de sendRequest
ajax.link($('#linkToTest'), {
//Options de sendRequest
method: 'GET',
});
data-ec-crud-ajax-url (si présent)url de la fonction link (si présent)hrefdata-ec-crud-ajax-* (si présents) écrasent les options de la fonction link (si présent)sendRequestFonction permettant de faire une requête AJAX depuis l'envoi d'un formulaire.
Toutes les options de la fonction sendRequest peuvent être utilisées en les passant par les attributs data-. Pour cela:
data-ec-crud-ajax-sendRequest sont en camelCase. Pour leur écriture par des attributs HTML, remplacer chaque nouveau mot en majuscule par un tiret.
Exemple: L'équivalent de l'option updateMode est data-ec-crud-ajax-update-mode en attribut HTML.Le formulaire doit avoir l'attribut HTML data-ec-crud-toggle="ajax-form".
Exemple :
<form action="/goodRequest" method="POST" data-ec-crud-toggle="ajax-form">
data-ec-crud-ajax-url (si présent)actiondata-ec-crud-ajax-method (si présent)methoddata-ec-crud-ajax-data (si présent)<form action="/goodRequest" method="POST" id="formToTest">
import * as ajax from '[@ecommit](https://github.com/ecommit)/crud-bundle/js/ajax';
//Argument n°1: Formulaire
//Argument n°2: Options de sendRequest
ajax.sendForm($('#formToTest'), {
//Options de sendRequest
cache: true,
});
data-ec-crud-ajax-url (si présent)url de la fonction sendForm (si présent)actiondata-ec-crud-ajax-method (si présent)method de la fonction sendForm (si présent)methoddata-ec-crud-ajax-data (si présent)data de la fonction sendForm (si présent)data-ec-crud-ajax-* (si présents) écrasent les options de la fonction sendForm (si présent)sendRequestPermet la mise à jour du DOM.
import * as ajax from '[@ecommit](https://github.com/ecommit)/crud-bundle/js/ajax';
//Argument n°1: Element à mettre à jour
//Argument n°2: Méthode de mise à jour
//Argument n°3: Contenu
ajax.updateDom($('#myDiv'), 'update', 'Hello world');
Méthodes disponibles pour la mise à jour :
| Méthode | Description |
|---|---|
| update | Modifie le contenu de l'élément par le nouveau contenu |
| before | Ajoute le nouveau contenu avant l'élément |
| after | Ajoute le nouveau contenu après l'élément |
| prepend | Modifie le contenu de l'élément en ajoutant le nouveau contenu au début |
| append | Modifie le contenu de l'élément en ajoutant le nouveau contenu à la fin |
La mise à jour du DOM utilise la fonction innerHTML.
Si le nouveau contenu contient des balises <script>, celles-ci ne seront pas exécutées. Cependant, cele ne protège pas
contre les failles XSS. En savoir plus
How can I help you explore Laravel packages today?