Я знаю, что есть много вопросов по этому поводу, но ни один из них, похоже, не отвечает на мой конкретный вопрос.
У меня проблемы с созданием функции, которая включает вызов ajax, а затем возвращает значение. Я сейчас использую:
hmis_query_temp_scalar: function(query_name) {
return $.ajax({
url: '/php_scripts/query_temp_scalar.php',
data: {query_name: query_name},
async: false
}).responseText
}
но я хотел бы сделать это асинхронным, но если я изменю его на async: true
Это не работает, я просто получаю неопределенные значения. Есть ли способ сделать это?
В настоящее время я использую эту функцию следующим образом:
На странице загружаются следующие скрипты:
$(document).ready(function() {
$.setQueryLink('active_clients', '1');
$.setQueryLink('active_clients_u18', '1');
$.setQueryLink('active_clients_19_59', '1');
$.setQueryLink('active_clients_o60', '1');
...
Что вызывает следующее:
setQueryLink: function(query_name, type) {
var object = "#" + query_name;
var value = $.hmis_query_temp_scalar(query_name);
$(object).html(value);
$(object).attr('href', "/standard_queries.php?query=" + query_name + "&type=" + type);
}
Есть ли лучший способ сделать это? (Я знаю, что кажется, что это должно быть сделано в PHP, но это не то, что я хочу в данный момент, я хочу асинхронную загрузку в JavaScript)