Спасибо, что прочитали это.
Я полагаю, что это действительно вопрос javascript, и мой заголовок, вероятно, не соответствует сути того, что я пытаюсь сделать, но я хочу сохранить результат моего запроса ajax в глобальной переменной. Это позволило бы мне проверить var перед выполнением вызова ajax ... и избежать повторных вызовов ajax для одних и тех же данных. Мне нужно иметь возможность передавать имя переменной из события click через функцию populateSelect в функцию ajaxCall.
Кажется, я мог бы передать функцию в качестве параметра, но я не смог заставить эту работу.
Мне нравится включать рабочие примеры в мои вопросы, но в этом случае задержка при обращении к серверу является частью проблемы.
Спасибо
$('#getSelectOptions').bind("click", function() {
populateSelect(this);
});
function populateSelect(whatWasClicked) {
var thisSelect = $(whatWasClicked).parents("div").find("select") ;
var before = function() { $(loading).show() ; } ;
var complete = function() { $(loading).hide() ; } ;
var data = {'_service' : 'myService', '_program' : 'myProgram' } ;
var error = function(){alert("Error"); } ;
var success = function(request) { $(thisSelect).html(request) ; };
var waitTime = 20000 ;
ajaxCall(thisSelect, waitTime, before, complete, data, success, error ) ;
}
function ajaxCall(elementToPopulate, waitTime, whatToDoBeforeAjaxSend,
whatToDoAfterAjaxSend, dataToSendToTheServer,
whatToDoAfterSuccess, whatToDoAfterError) {
$.ajax({
type: "post",
url: "http://myURL/cgi-bin/broker",
dataType: "text",
data: dataToSendToTheServer,
timeout: waitTime,
beforeSend: whatToDoBeforeAjaxSend,
error: whatToDoAfterError(request),
success: whatToDoAfterSuccess(request)
});
}
РЕДАКТИРОВАТЬ Дальнейшее образование в том, как написать хороший вопрос ... Я должен был упомянуть, что я вызываю populateSelect для заполнения нескольких выборок ... поэтому мне нужен способ ссылки на результаты для каждого выбора