Помогите пожалуйста со скриптом

Статус
Закрыто для дальнейших ответов.

Юрчик

Well-Known Member
Регистрация
23.02.2012
Сообщения
94
В чём соль: при нажатии на ссылку должен подгружаться файл и вставляться в документ.

Код:
  <script src="http://php1.ua/jquery-1.7.1.min.js"></script>

  <script language="javascript">
function loadfile(file){
    $.get(file,function(data){
     alert("data:"+data);
     return data;
   });
   }
function push(){
data=loadfile("text.txt");
var put=document.getElementById('er');
var text=data;
put.innerHTML=text;
alert("text:"+text);
}
</script>
содержание файла text.txt
Код:
vvvv
Почему то в функции loadfile alert нормально переменную выводит
А дальше в документ вставляет undefined.
Не могу понять в чем дело, подскажите пожалуйста.
Может есть какой нибудь альтернативный вариант?
 

ALEXu

в сером
Регистрация
29.12.2010
Сообщения
307
Может потому что функция loadfile не возвращает значение data.
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
Код:
$("#er").load("text.txt");
заменит весь ваш код
а то сердце разрывается, как вы мучаете jquery
 

Юрчик

Well-Known Member
Регистрация
23.02.2012
Сообщения
94
Код:
$("#er").load("text.txt");
заменит весь ваш код
а то сердце разрывается, как вы мучаете jquery
Спасибо ваша штука помогла.
Мне её и хватит.
Просто сильно мучает то что я не могу понять почему return data не возвращает значение. Или скорее всего она его возвращает но в каком-то формате, вот только в каком?
 

lekzd

parse error: parse error, unexpected T_STRING...
Регистрация
17.02.2011
Сообщения
1 125
росто сильно мучает то что я не могу понять почему return data не возвращает значение
А вы внимательно поглядите в какой функции описано возвращаемое значение, оно возвращается в колбек, но никак не в родительскую функцию
я даже больше скажу, так как запрос ассинхронный, то родительская функция успевает завершиться когда на запрос к серверу приходит ответ и выполняется колбек $.get
чтобы так напрямую получить значение от сервера до завершения функции надо использовать синхронный запрос - тогда скрипт остановится и будет "ждать" ответа сервера
 

Юрчик

Well-Known Member
Регистрация
23.02.2012
Сообщения
94
Аааа я понял. Если я укажу чтоб запрос был синхронным, то все будет работать, но тогда если файлы будут большие, то это может привести к тормозам на странице?
 

lekzd

parse error: parse error, unexpected T_STRING...
Регистрация
17.02.2011
Сообщения
1 125
да, именно к "тормозам"
потому лучше ответ сервера писать сразу по месту назначения и не ждать когда оно загрузится, чтобы обработать
 
Статус
Закрыто для дальнейших ответов.
Верх Низ