Ajax requêtes GET: utilisation ou des paramètres de mettre les données dans l'URL?
Quel est l'avantage de la transmission des données comme paramètres vs partie de l'URL dans un Ajax OBTENIR une demande?
À l'aide de paramètres:
var ajax = new Ajax.Request('server.php',{
parameters: 'store=11200&product=Meat',
onSuccess: function(myData){whatever}
});
En utilisant l'URL:
var ajax = new Ajax.Request('server.php?store=11200&product=Meat',{
onSuccess: function(myData){whatever}
});
- Êtes-vous à l'aide de Prototype comme une bibliothèque ajax? On dirait qu'il le fait que les méthodes et ces.
- Prototype en effet.
Vous devez vous connecter pour publier un commentaire.
Un avantage de l'utilisation de la
parameters
argument est que vous pouvez passer unHash
-comme objet et non comme une chaîne de caractères. (Si vous faites cela, cependant, assurez-vous que lemethod
paramètre"GET"
, la méthode par défaut pour Prototype requêtes Ajax est POST; voir le Prototype Introduction à Ajax pour plus de détails.)Un autre avantage, qui est plus en ligne avec l'exemple que vous avez donné, c'est que vous pouvez séparer l'URL de la requête à partir des options qui lui sont envoyés. Cela peut être utile si, par exemple, vous devez envoyer tout un tas de demandes similaires à plusieurs Url différentes. (Dans ce cas, avoir un des paramètres communs
Hash
que vous modifiez pour chaque demande peut-être plus utile, que l'aide d'un paramètre de chaîne, en tant que bien.)Pour plus d'informations, voir le Prototype de la documentation de l'Ajax options.
L'un de mes préférés utilise de paramètres est de passer dans tous les champs d'un formulaire sans explicitement les énumérer:
Form.Request
fonction rend cette tâche encore plus facile. Lui donner une forme et il va faire une requête Ajax à l'aide du formulaireaction
l'attribut comme l'URL, de plus il va sérialiser la forme et de transmettre ces valeurs que les paramètres par défaut.Pour répondre à cette question, vous devez connaître la façon dont les paramètres de travail. HTTP base (je sais, il y a plus d') a deux méthodes pour les données de la demande: GET et POST.
Pour OBTENIR, paramètres sont ajoutées à la ressource que vous demander, comme vous l'avez fait dans votre code ci-dessus: /mon/ressources/nom?para1=bla. Ici, il n'y a pas de différence si vous ajoutez si directement le nom de la ressource ou de l'utilisation de l'option paramètres. Est normalement utilisé pour les données de la demande (Ses OBTENIR 😉
Pour le POST, la paramètres sont écrits séparément de la ressource dans le corps HTTP. Pour cela, vous devez utiliser l'option paramètres. POST est utilisée pour envoyer des (énormes) de données.
Pour spécifier la méthode de requête, utilisez méthode option.
Note: OBTENIR des ressources a (en fonction de serveur à serveur) une dure limite sur la longueur. Donc, ne JAMAIS envoyer beaucoup de données à l'aide de GET.
Vous pouvez également utiliser le format:
Sur l'avantage de cette façon de faire est que vous pouvez modifier à partir d'un OBTENIR un POSTE sans changer l'URL.
{store: 11200, product: "Meat"}
)Il n'a pas vraiment d'importance d'un point de vue technique sur cette autre que le formatage et la préférence en raison des demandes de toujours avoir les données dans l'URL. Les paramètres sont juste un moyen pratique de construction de la requête GET.