2010-05-01 6 views
2

Lorsque vous utilisez $ .POST et $ .GET dans jquery, est-il possible d'ajouter des variables personnalisées à l'URL et de les envoyer également? j'ai essayé les suivantes:jquery sérialiser() + personnalisé?

$.ajax({type:"POST", url:"file.php?CustomVar=data", data:$("#form").serialize()}); 

Et:

<input name="CustomVar" type="hidden" value="data" /> 
$.ajax({type:"POST", url:"file.php", data:$("#form").serialize()}); 

Le premier problème de ceux est qu'il envoyer la coutume comme obtenir, mais je veux le recevoir comme poste. Le deuxième puits je l'utilise en ce moment mais il n'y a pas de meilleure façon?

Répondre

8

Internally, .serialize()-t un $.param() sur .serializeArray() donc vous pouvez faire vous-même ajouter ce que vous voulez entre les deux, comme celui-ci:

var obj = $("#form").serializeArray(); 
obj.CustomVar = 'someValue'; 
$.ajax({ type:"POST", url:"file.php", data:$.param(obj) }); 
+1

C'est obsolète maintenant. Ne fonctionne plus. La sortie de obj est maintenant: - [Objet {name = "q", value = ""}, Objet {name = "type", valeur = "PC"}, Objet {name = "schedule", value = "2015-12-11 01:00:00 PM"}, Objet {name = "pId", valeur = "test"} ... etc. –

Questions connexes