Browse Source

feat: Proposer une methode bigup.send() pour faciliter l’écriture des requêtes ajax avec FormData

Refs: #4861
(cherry picked from commit 2c69d71b8a)
3.1
Matthieu Marcillaud 3 months ago
parent
commit
e6903d6143
  1. 21
      javascript/bigup.documents_edit.js
  2. 21
      javascript/bigup.js

21
javascript/bigup.documents_edit.js

@ -19,15 +19,8 @@ function formulaires_documents_edit_avec_bigup () {
data.set('bigup_reinjecter_uniquement', [description.bigup.identifiant]);
// verifier les champs
$.ajax({
type: "POST",
url: bigup.target,
data: data,
processData: false,
contentType: false,
cache: false,
dataType: 'json',
})
bigup
.send(data, {dataType: 'json'})
.done(function(erreurs) {
var erreur = erreurs[bigup.name] || erreurs.message_erreur;
if (erreur) {
@ -39,14 +32,8 @@ function formulaires_documents_edit_avec_bigup () {
var conteneur = bigup.form.parents('.formulaire_editer_document');
conteneur.animateLoading();
// Faire le traitement prévu, supposant qu'il n'y aura pas d'erreur...
$.ajax({
type: "POST",
url: bigup.target,
data: data,
processData: false,
contentType: false,
cache: false,
})
bigup
.send(data)
.done(function(html) {
bigup.presenter_succes(input, _T('bigup:succes_fichier_envoye'));
bigup.form.parents('.formulaire_spip').parent().html(html);

21
javascript/bigup.js

@ -653,6 +653,7 @@ Bigup.prototype = {
*
* @example
* bigup.post({ action:bigup_document }).done(function(){ ... });
* @param object data
* @return jqXHR
*/
post: function(data) {
@ -665,6 +666,26 @@ Bigup.prototype = {
return $.post(this.target, data);
},
/**
* Poste un FormData sur le formulaire bigup.
*
* @param FormData data
* @param {*} options
* @return jqXHR
*/
send: function(data, options) {
const ajaxOptions = Object.assign({
type: "POST",
url: this.target,
data: data,
processData: false,
contentType: false,
cache: false,
}, options || {});
return $.ajax(ajaxOptions);
},
/**
* Afficher une erreur sur un fichier
* @param string emplacement

Loading…
Cancel
Save