Faire du POST avec Ajax, ça ne fonctionne pas?!

KiraYamato
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 22 Avr 2007

Faire du POST avec Ajax, ça ne fonctionne pas?!

Message le Dim Juil 08, 2007 19:43

Bonsoir, tout d'abord je tiens a informé que j'ai déjà regardé sur google et ici même pour m'aider, hélas sans aucun succès.

Je vous expose donc mon petit problème :

J'ai une page, dans cette page j'ai un div où j'affiche mon formulaire.
Et j'aimerais que se formulaire passe par de l'Ajax. Et donc ne rafraîchît que le div dans lequel il est.

Seul petit problème, dans se formulaire j'ai 3 informations, un input de type text, un autre de type hidden, et un dernier de type file.

Voici la partie que j'ai trouvé sur internet et dont j'avoue la non fonction :(
Code: Tout sélectionner
if(methode=='POST'){
      // si POST envoi du header et des paramètres
      http_ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
      http_ajax.send(param);
      }else{
      http_ajax.send(null);
      }

Sa ne fonctionne que pour un paramètre d'après ce que je comprend..
C'est d'ailleurs quasiment les mêmes exemples partout sur internet.


Si une âme charitable pourrait m'aider dans ma quête, merci d'avance, et désolé pour le dérangement !


Lina
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 44
Inscription: 8 Nov 2005

Message le Dim Juil 08, 2007 20:54

Bonsoir,

Pour effectuer une requête POST, il faut effectivement spécifier l'entête :
Code: Tout sélectionner
http_ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');

Ensuite si tu veux envoyer des paramètres à ta page, tu dois passer par la methode send()
Code: Tout sélectionner
http_ajax.send(param);

param est de la forme param1=valeur1&param2=valeur2
  • Il faut spécifier le nom et la valeur du parametre séparés par un égal.
  • S'il y a plus d'un parametre, il faut les séparer par un &

KiraYamato
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 22 Avr 2007

Message le Dim Juil 08, 2007 21:20

Merci pour ta réponse rapide !

Si je comprend bien ce que tu dis, ça donnerais ça :
Code: Tout sélectionner
// si POST envoi du header et des paramètres
      http_ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
var content_text = document.monform.input_de_type_text.value;
var content_hidden = document.monform.input_de_type_hidden.value;
var content_file = document.monform.input_de_type_file.value;
var param = "file="+content_file+"&hidden="+content_hidden+"&text="+content_text;
      http_ajax.send(param);

?


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Lun Juil 09, 2007 7:56

as tu regardé XHRConnection tout prêt à ca ?
ex : http://xhrconnection.sutekidane.net/exe ... amp-texte/

KiraYamato
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 22 Avr 2007

Message le Lun Juil 09, 2007 11:14

On dit parfois que la nuit porte conseil et c'est le cas, je viens de comprendre comment faire et j'ai pondu cette petit fonction qui va interroger ma fonction "interroge" =>

Code: Tout sélectionner
function submitAdd_Logo()
{
   var content_text = document.ajout_logo.logo_titre.value;
   var content_hidden = document.ajout_logo.sub.value;
   var content_file = document.ajout_logo.logo_fichier.value;
   interroge("POST", "news-ajax.php?action=add_logo", "logo_fichier="+content_file+"&sub="+content_hidden+"&logo_titre="+content_text, "content");
}


et ça fonctionne :)

Merci pour votre aide ;)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités