J'essaie d'utiliser jQuery pour appeler une API personnalisée via Ajax/$.getJSON
.
J'essaie de transmettre une valeur personnalisée dans la méthode de rappel Ajax, mais cette valeur n'est pas transmise et est en fait écrasée. Ceci est mon code:
var locationType = 3;
var url = 'blah blah blah' + '&locationType=' + locationType;
$("#loading_status").show();
$.getJSON(url, null, function(results, locationType) {
searchResults(results, locationType)
});
La valeur de locationType
avant d'appeler l'URL en utilisant AJAX est 3
. Mais après que l'appel a correctement renvoyé les données, la valeur locationType
est maintenant success
. En effet, le method signature of the callback est:
rappel (données, textStatus) Une fonction de rappel qui est exécutée si la demande réussit.
Comment puis-je transmettre 1 ou plusieurs paramètres à une méthode de rappel?
variable locationType est variable globale de sorte que vous n'avez pas besoin de le mettre en paramètre, en fonction de rappel Anonimus cette variable est libre il est donc recherche dans environnement qui dans ce cas est environnement global. – jcubic
@jcubic - Ce n'est pas une variable * globale * (enfin c'est peut-être le cas, mais probablement pas), plus précisément, elle est disponible dans la portée qui l'intéresse. –