Вернуть данные из ajax функции
Здравствуйте!
Прошу помощи в следующем вопросе. Есть код: function ajax_build(id, callback) { var http = createObject(); http.onreadystatechange = function() { if(http.readyState == 4 && http.status == 200) { var response = http.responseText; if(response != '') { callback(response); } } } http.open('GET', '/scripts/ajax_build.php?id='+id+'&nocache='+nocache); http.send(null); } var result=ajax_build(1, function(data){ return data; }); document.getElementById('div').innerHTML = result; В результате выдается: "undefined". Прошу помощи в решении данной проблемы. |
var ajax_text; function ajax_build(id, callback) { var http = createObject(); http.open('GET', '/scripts/ajax_build.php?id='+id+'&nocache='+nocache); http.onreadystatechange = function() { if(http.readyState == 4 && http.status == 200) { var response = http.responseText; if(response != '') {text=response;} } } http.send(''); } document.getElementById('div').innerHTML = text; |
laandrew,
Все действия необходимо выполнять в callback (т.к. операция асинхронная, то данные с сервера будут доступны только в этот момент) var result=ajax_build(1, function(data){ document.getElementById('div').innerHTML = data; return data; }); И кроме того, функция ajax_build у вас ничего не возвращает, поэтому result всегда будет undefined. |
Подскажите, как мне сделать, чтобы функция ajax_build возвращала значение.
Ели допустим я захочу вместо document.getElementById('div').innerHTML присвоить какой-либо переменной значение функции ajax_build и использовать в дальнейшем это значение в различных целях. |
Цитата:
|
Цитата:
теперь синхронная. |
Часовой пояс GMT +3, время: 13:04. |