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 :: не приходят данные в ajax запрос

 PHP.SU

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


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

> Без описания
gin101
Отправлено: 17 Августа, 2015 - 07:09:28
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Апр. 2015  


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




здравствуйте!

у меня проблема с ajax запросом, не приходят данные от php, т.е. переменная data пустая. при этом сама функция MessagesParse вызывается, но переменная data при этом пустая, отладчик в браузере выдает ошибку "Uncaught SyntaxError: Unexpected end of input" на строке c $.parseJSON(data);
подскажите пожалуйста что я делаю не так и почему возникает эта ошибка, весь гугл уже перерыл ничего не нашел :С

сам запрос
CODE (javascript):
скопировать код в буфер обмена
  1.        
  2. function MessagesParse(data){
  3.         console.log('data is: '+data);
  4.         var res = $.parseJSON(data);
  5.     var template='';
  6.         var location="";
  7.     for(var p in res.users){
  8.                 res.users[p].user_country
  9.                 template+='<li>';
  10.                 template+='<div class="messageDate">'+res.users[p].date+'</div>';
  11.                 template+='<a href="/id'+res.users[p].user_id+'"><img class="messagePhoto" src="'+res.users[p].user_photo+'"/></a>';
  12.                 template+='<a href="'+res.users[p].user_id+'"><span class="messageName">'+res.users[p].user_name+res.users[p].user_surname+'</span></a><br>';
  13.                 template+='<span class="messageText">'+res.users[p].text;
  14.                 template+='</li>';
  15.         };
  16.         $('#messagearea').prepend(template);
  17.         page+=1;
  18.        
  19. }
  20.  
  21. $(document).scroll(function(){
  22.                 if ($(document).scrollTop()==0){
  23.                         var a=$.ajax({
  24.                                 url: '/dialogue/GetMessages/id'+current_dialogue+'p/'+page,
  25.                                 success: MessagesParse
  26.                         });
  27.                         console.log(current_dialogue);
  28.                         console.log(page);
  29.                 }
  30.         });


и собственно код php
PHP:
скопировать код в буфер обмена
  1. function GetMessages($DialogueId=0,$page=0){
  2.                         $did= (isset($DialogueId) and $DialogueId!==0) ? $DialogueId : $this->Dialogue['id'];
  3.                         if ($this->UserHasPermission($did)){
  4.                                 $query=sprintf('SELECT * FROM chat_msg JOIN (SELECT id,`date` FROM chat_msg ORDER BY `date` DESC LIMIT %d,10) as b ON b.id = chat_msg.id WHERE dialogue_id=%d',
  5.                                 $page*10,
  6.                                 $did);
  7.                                 $result=mysql_query($query);
  8.                                 $i=0;
  9.                                 $data['messages']=array();
  10.                                 while ($row=mysql_fetch_assoc($result)){
  11.                                         $data['messages'][$i]=$row;
  12.                                         $i++;
  13.                                 }
  14.                                 $data=array_reverse($data);
  15.                                 header('Content-type: application/json');
  16.                                 echo json_encode($data);
  17.                                 return $data;
  18.                         }
  19.                 }
 
 Top
Viper
Отправлено: 17 Августа, 2015 - 09:30:55
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




gin101 пишет:
весь гугл уже перерыл ничего не нашел
ага. Первая же ссылка http://stackoverflow[dot]com/questio[dot][dot][dot]ted-end-of-input


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
gin101
Отправлено: 17 Августа, 2015 - 09:50:32
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Апр. 2015  


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




Viper пишет:
gin101 пишет:
весь гугл уже перерыл ничего не нашел
ага. Первая же ссылка http://stackoverflow.com/questions/3983088/javascript-error-uncaught-syntaxerror-unexpected-end-of-input

там проблема в том что чувак забыл закрывающую скобку поставить, а у меня проблема в том что не могу получить ответ от сервера.-. по крайней мере я еще раз проверил все скобки вроде все правильно
 
 Top
andrewkard
Отправлено: 17 Августа, 2015 - 10:11:11
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




gin101
Вы в функцию не передаете данные:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.     $.ajax({
  3.         url: "/dialogue/GetMessages/id'+current_dialogue+'p/'+page"
  4.     })
  5.     .done(function( data ) {
  6.             MessagesParse( data );
  7.     });
  8.  
 
 Top
gin101
Отправлено: 17 Августа, 2015 - 10:24:08
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Апр. 2015  


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




andrewkard пишет:
gin101
Вы в функцию не передаете данные:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.     $.ajax({
  3.         url: "/dialogue/GetMessages/id'+current_dialogue+'p/'+page"
  4.     })
  5.     .done(function( data ) {
  6.             MessagesParse( data );
  7.     });
  8.  

попробовал, ничего не изменилось. как я уже говорил раньше, переменная data вообще не определена даже, хотя, на сколько я знаю, в нее должен записываться ответ сервера
 
 Top
andrewkard
Отправлено: 17 Августа, 2015 - 10:25:54
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




gin101
Вот рабочий пример:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_GET['p'])){
  4.     echo $_GET['p'];
  5.     exit;
  6. }
  7.  
  8. ?>
  9. <html>
  10. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  11. <script>
  12.     $(function() {
  13.         var page = 1;
  14.         $.ajax({
  15.             url: "/test1.php?" + "p=" + page
  16.         })
  17.             .done(function(data){
  18.             MessagesParse(data)
  19.         });
  20.  
  21.         function MessagesParse(data) {
  22.             alert(data);
  23.         }
  24.     });
  25. </script>
  26. </html>
  27.  
 
 Top
gin101
Отправлено: 17 Августа, 2015 - 10:52:11
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Апр. 2015  


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




нашел в чем дело было, я в запросе в урл забыл слэши поставить вот он и неправильно параметры считывал и соответственно не возвращал ничего.-.

вот так заработало все
CODE (javascript):
скопировать код в буфер обмена
  1. a=$.ajax({
  2.                         url: '/dialogue/GetMessages/id/'+current_dialogue+'/p/'+page,
  3.                         datatype: 'json',
  4.                         success: MessagesParse
  5.                 });


всеравно спасибо, если бы не эта тема то так бы и не додумался адрес проверить С:
(Добавление)
думаю тему можно удалить, так как проблема была в моей тупости и невнимательности
 
 Top
ADIOS
Отправлено: 18 Августа, 2015 - 18:45:54
Post Id



Гость


Покинул форум
Сообщений всего: 96
Дата рег-ции: Май 2010  
Откуда: Россия, Калуга


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




(Отредактировано автором: 18 Августа, 2015 - 18:46:35)



-----
Не откладывай работу на завтра, от которой можно вообще отказаться
 
 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