Comment passer les paramètres dans les requêtes GET avec jQuery

Comment puis-je passer les valeurs de chaîne de requête dans une requête jQuery Ajax? Je les fais maintenant comme suit, mais je suis sûr qu'il existe une façon plus propre qui ne nécessite pas que je code manuellement.

$.ajax({ url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress), success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } }); 

J'ai vu des exemples où les paramètres de la chaîne de requête sont transmis en tant que tableau, mais ces exemples que j'ai vus n'utilisent pas le $.ajax() , mais ils vont directement à $.get() . Par exemple:

 $.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } ); 

Je préfère utiliser le format $ .ajax () car c'est ce à quoi je suis habitué (pas de raison particulièrement bonne – juste une préférence personnelle).

Modifier 09/04/2013:

Après que ma question a été fermée (en tant que «trop localisé»), j'ai trouvé une question liée (identique) – avec 3 upvotes non-moins (Ma mauvaise pour ne pas le trouver en premier lieu):

En utilisant jquery pour créer un POST, comment fournir correctement le paramètre 'data'?

Cela a répondu à ma question parfaitement, j'ai constaté que le faire de cette façon est beaucoup plus facile à lire et je n'ai pas besoin d'utiliser manuellement encodeURIComponent() dans l'URL ou les valeurs DATA (ce que j'ai trouvé difficile dans la réponse de bipen). C'est parce que la valeur de data est codée automatiquement via $.param() ). Juste au cas où cela pourrait être utile à toute autre personne, c'est l'exemple avec lequel je suis allé:

 $.ajax({ url: "ajax.aspx?ajaxid=4", data: { "VarA": VarA, "VarB": VarB, "VarC": VarC }, cache: false, type: "POST", success: function(response) { }, error: function(xhr) { } }); 

Utilisez l'option de données de ajax. Vous pouvez envoyer l'objet de data option serveur par data dans ajax et le type qui définit comment vous l'envoyez ( POST ou GET ). Le type par défaut est la méthode GET

Essaye ça

 $.ajax({ url: "ajax.aspx", type: "get", //send it through get method data: { ajaxid: 4, UserID: UserID, EmailAddress: EmailAddress }, success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } }); 

Et vous pouvez obtenir les données par

  $_GET['ajaxid'] //gives 4 $_GET['UserID'] //gives you the sent userid 

Placez vos paramètres dans la partie de data de l'appel ajax . Voir les documents . Ainsi:

 $.ajax({ url: "/TestPage.aspx", data: {"first": "Manu","Last":"Sharma"}, success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } }); 

La propriété de données vous permet d'envoyer une chaîne. Sur votre code côté serveur, acceptez-le en tant que nom d'argument de chaîne "myVar", puis vous pouvez l'analyser.

 $.ajax({ url: "ajax.aspx", data: [myVar = {id: 4, email: 'emailaddress', myArray: [1, 2, 3]}]; success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } }); 

Essayez d'ajouter ceci:

 $.ajax({ url: "ajax.aspx", type:'get', data: {ajaxid:4, UserID: UserID , EmailAddress: encodeURIComponent(EmailAddress)}, dataType: 'json', success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } }); 

Dépend de ce type de données attendu, vous pouvez affecter html, json, script, xml

Vous pouvez utiliser $.ajax() , et si vous ne souhaitez pas mettre les paramètres directement dans l'URL, utilisez les data: $.ajax() Ceci est ajouté à l'URL

Source: http://api.jquery.com/jQuery.ajax/