Comment puis-je ajouter d'autres paramètres POST ajax upload de fichier?
Je suis en utilisant ajax upload d'un fichier javascript et php script pour charger une image. Il fonctionne de manière satisfaisante avec $_FILES mais j'ai besoin d'envoyer des données supplémentaires dans le script de traitement. Le formulaire HTML ressemble à:
<form id="image1" action="" method="post" enctype="multipart/form-data">
<label>image 1?</label>
<p><input type="file" class="saveImage" name="image1" value="<?php echo $something; ?>" id="<?php echo $id; ?>" additional_info="some data" /></p>
<p> <input type="submit" value="Upload" class="submit" /></p>
</form>
J'ai besoin d'être en mesure de passer une variable id et quelques autres données, de l'appeler "additional_data" pour le script php, puis le traiter dans mon script php à l'aide de $additional_data = $_POST['additional_data']
. Le javascript que j'utilise est:
<script>
$(document).ready(function (e) {
$("#image1").on('submit',(function(e) {
e.preventDefault();
$("#message").empty();
$('#loading').show();
var DATA=$(this).val();
var ID=$(this).attr('id');
var ADDL=$(this).attr('additional_data');
var dataString = 'image1='+DATA+'&id='+ID+'&additional_info='+ADDL;
$.ajax({
url: "uploadFile.php",
type: "POST",
//data: new FormData(this),
data: new FormData(this,dataString),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$('#loading').hide();
$("#message").html(data);
}
});
}));
});
</script>
Il n'envoie pas le dataString, seuls les FICHIERS de tableau.
Pourquoi ne pas mettre les autres données dans d'autres champs cachés?
OriginalL'auteur Bob M | 2015-03-19
Vous devez vous connecter pour publier un commentaire.
Je voulais aussi faire la même chose.
Voici ma solution :
La JS partie :
La partie PHP:
Espère que cela aide.
Plus d'infos à propos des paramètres supplémentaires sur formData peut être trouvé
ici!
OriginalL'auteur Alin Panainte
J'espère que je vous comprends bien. Peut-être que cet extrait vous aide à:
Et définissez ce formData variable de données:
formData.append("image1", fileInputElement.files[0]);
ligne il provoque le formulaire de ne pas poster. J'ai testé en commentant la ligne. Même problème avec les autres ajouter des lignes.Voir un exemple de code: [ dottedi.us/ajax_upload ]
Je suis toujours à la recherche d'une solution de travail. Malheureusement, la réponse n'a pas fonctionné.
OriginalL'auteur thilo__f