Я пытаюсь использовать jQuery для вызова некоторого пользовательского API через Ajax/$.getJSON
.
Я пытаюсь передать пользовательское значение в метод обратного вызова Ajax, но это значение не проходит и фактически перезаписывается. Это мой код:
var locationType = 3;
var url = 'blah blah blah' + '&locationType=' + locationType;
$("#loading_status").show();
$.getJSON(url, null, function(results, locationType) {
searchResults(results, locationType)
});
Значение locationType
ДО Я называю URL с использованием AJAX является 3
. Но после того, как вызов возвращает данные успешно, значение для locationType
теперь success
. Это потому, что это method signature of the callback:
обратного вызова (данные, textStatus) Обратный вызов функция, которая выполняется, если запрос выполнен успешно.
Как передать один или несколько параметров методу обратного вызова?
переменная locationType является глобальной переменной, поэтому вам не нужно положить его в качестве параметра в функцию обратного вызова Anonimus, что переменная свободна, так что поиск в окружающей среде, которая в данном случае является глобальной окружающей среды. – jcubic
@jcubic - это не * глобальная переменная * (возможно, это может быть, но, вероятно, нет), более точно она доступна в области, о которой он беспокоится. –