11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai une question simple concernant l'envoi de données via AJAX : dans la ligne data du code ajax, en plus de mes données sérialisées j'ai un paramètre ("action") à envoyer.

Je cherche une syntaxe ressemblante à la suivante pour la ligne data (évidemment ne fonctionne pas):


$('.input_inscription').blur(function(){
var myInput = $(this);

$.ajax({
		dataType: 'json',
		type: "POST",
		url: "my_url.php",
		data:myInput.serialize()+'&action="input_control"', // Problème !
		success: function(data){	
			// Action selon ce que me renvoit JSON			   
		}
});

});	

Modifié par Tchernobyl (23 Jun 2012 - 00:33)
En fait je serialise un Input et pas un formulaire, donc je ne peux pas ajouter un input caché pour transmettre le paramètre supplémentaire, je ne peux que l'ajouter manuellement. Smiley confus
Es-tu sur cependant que le code produit est valide (des guillemets en dur dans un url, je n'en suis pas convaincu)

En soit, comme .serialize() renvoie une string de paramètre d'url, ajouter le tiens ainsi devrait fonctionner (tant que tu as bien une valeur pour ton input).

Qui plus est, tu peux afficher le résultat de ta string comme ça: (avec ta console ouverte)


console.log( myInput.serialize()+'&action="input_control"' );


Et tu verras si ton code est celui attendu ou pas.

(P.S.: En même temps, tu envoie une requête POST, et tu ajoute tes data en mode GET, ça pourrait aussi être ça qui cause problème.)
Modifié par Vaxilart (23 Jun 2012 - 02:05)