Передача значения из функции
var answer;
$.ajax({ type:"POST", url:"data/answer.txt", success: function(data){ answer=data.split('\n'); //alert(answer[1]); } }); alert(answer[1]); Alert внутри функции работает, а снаружи - Uncaught TypeError: Cannot read property '1' of undefined Как сделать чтоб и снаружи работало? |
Никак. Асинхронный запрос на то и асинхронный.
Вот тебе прямой идиотский вариант решения твоей "проблемы": var result = null; $.ajax({ type:"POST", url:"data/answer.txt", success: function(data){ result =data.split('\n'); } }); var interval = setInterval(function(){ if(result) { clearInterval(interval); alert(result); } },100) |
Значит придется создать div и в него выводить
success: function(data){ var array= data.split('\n'); for(var i=0;i<array.length;i++) $('div').append("<p>"+array[i]+"</p>"); } а затем через css подгонять этот div под вид модульного окна. Опять велосипед самому писать. |
Решил задачу:
setTimeout(function(){ var region = $('#dist :checked').text(); var massiv = $('#massiv :checked').text(); var street= $('#autocomplete').val(); var house= $('input[name=house]').val(); if($('input[name=cond]').prop('checked')){ var res1= answer(0) } if($('input[name=furUn]').prop('checked')){ var res1= answer(1) } if($('input[name=animal]').prop('checked')){ var res2= answer(2) } function answer(num){ $.ajax({ type:"POST", url:"data/answer.txt", success: function(data){ answer=data.split('\n'); if(isNaN(street)) street=''; alert( region+ massiv+ street+ house+ answer[num] ); } }); } },4000); }); |
Часовой пояс GMT +3, время: 23:25. |