Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: return значения ajax запроса

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Denkill
Отправлено: 24 Августа, 2013 - 18:15:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013  
Откуда: Барнаул


Помог: 7 раз(а)




Есть проблемка.

При ajax запросе нужно возвратить значение которое пришло с сервера(json-файл)

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  if (xmlhttp.readyState==4 && xmlhttp.status==200){
  3.       return xmlhttp.responseText;
  4. }


Если сделать так, то возвращает undefined.

Как сделать что бы возвращал именно json файл


-----
Хо-Хо-Хо
 
 Top
IllusionMH
Отправлено: 24 Августа, 2013 - 18:19:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Denkill, огромный кусок кода, месяц буду искать где же и как он используется.
Это асинхронный запрос и нужно ждать пока придет ответ. Этот код должен использовать только при срабатывании обработчика xmlhttp.onreadystatechange и в этом же обработчике должна вызываться функция которая будет работать с этими данными
 
 Top
Denkill
Отправлено: 24 Августа, 2013 - 19:12:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013  
Откуда: Барнаул


Помог: 7 раз(а)




IllusionMH пишет:
Этот код должен использовать только при срабатывании обработчика xmlhttp.onreadystatechange и в этом же обработчике должна вызываться функция которая будет работать с этими данными


Это все понятно. Как сделать так что бы он возваращал xmlhttp.responseText.

Вот такой код
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. strong.loadJSON = (function(f,d){
  3.                 var xmlhttp;
  4.                 if (window.XMLHttpRequest){
  5.                   xmlhttp=new XMLHttpRequest();
  6.                 }else{
  7.                   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  8.                  }
  9.                  
  10.                 xmlhttp.onreadystatechange=function(){
  11.                   if (xmlhttp.readyState==4 && xmlhttp.status==200){
  12.                         return xmlhttp.responseText;
  13.                         }
  14.                 }
  15.                 xmlhttp.open("GET","json/"+f+".json",true);
  16.                 xmlhttp.send();
  17.  
  18.         });


Вопрос заключается в том как "возвратить" значение а не работать с ним в onreadystatechange

CODE (javascript):
скопировать код в буфер обмена
  1. var b = strong.loadJSON("index");//В b должен хранится json файл


А как отловить этот момент когда запрос прийдет я незнаю Огорчение
(Добавление)
Может есть какой то другой способ записать в переменную содержимое json-файла?

(Отредактировано автором: 24 Августа, 2013 - 19:12:52)



-----
Хо-Хо-Хо
 
 Top
IllusionMH
Отправлено: 24 Августа, 2013 - 19:17:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Denkill, вернуть - никак.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB