Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
8 / 8 / 4
Регистрация: 23.05.2012
Сообщений: 87
1

Особенности json в PHP. Возникли проблемы после переноса на хостинг

30.01.2014, 22:18. Показов 1255. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.Имеется такой код:
PHP
1
2
3
4
5
6
7
8
9
10
class Slideshow
{
  var $elem=array(),$foo,$bar;
   function __construct()
   {
      /*Определение всех свойств*/
   }
}
$S=new Slideshow();
echo json_encode($S);
При получении джейсон-строки яваскриптом получаю такое:
{"elem":null,"foo":1,"bar":4500}
Массив имеет значение null.Что с ним не так?
P.S. На локальном сервере всё нормально, это случилось после переноса на хостинг
P.S.S. Читал что может быть в других версиях PHP, типо на сервере другая версия стоит.Так же читал, что это может быть из-за русских символов и кодировки, но русских символов в том массиве я не передаю абсолютно ни одного.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.01.2014, 22:18
Ответы с готовыми решениями:

Появилась ошибка - Warning:class-wp-hook.php on line 286 после переноса на хостинг
Приветствую Вас знатоки. после переноса сайта на новый хостинг возникла такая ошибка : Warning:...

После переустановки Windows XP возникли проблемы
Доброго времени суток! Нужна помощь. После переустановки Windows XP возникли проблемы с...

Ошибка после переноса на другой хостинг
Добрый вечер. перенес сайт с одного хостинга на другой средствами битрикс При открытии сайта...

Ошибки после переноса сайта на хостинг
После переноса сайта на хостинг появились какие-то ошибки:Strict Standards Как от них избавиться?...

5
(-_(-_(o_O)_-)_-)
46 / 21 / 4
Регистрация: 19.08.2010
Сообщений: 238
30.01.2014, 23:59 2
Для начала оффтоп. Ключевое слово var не используется в версиях php5, а в более поздних версиях php
вызывает warning.
Пруф

По поводу вашей проблемы, если есть возможность выложите весь код целиком.
Т.е. и JS и PHP
1
8 / 8 / 4
Регистрация: 23.05.2012
Сообщений: 87
31.01.2014, 00:44  [ТС] 3
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Slideshow
{
   var $elem=array(array()),$state,$delay,$changeTime;
   function __construct()
   {
      global $link;
      $query=$link->query("SELECT * FROM `slideshow` ORDER BY `order` ASC",MYSQLI_STORE_RESULT);
      $k=0;
      while ($res=$query->fetch_assoc())
      {
         if ($res['id']==1)
         {
            $this->state=($res['ref']=="enabled" || intval($res['ref'])>0)?1:0;
         }
         else if ($res['id']==2)
         {
            $this->delay=intval($res['ref']);
         }
         else if ($res['id']==3)
         {
            $this->changeTime=intval($res['ref']);
         }
         else
         {
            $this->elem[$k]['img']=$res['img'];
            $this->elem[$k]['ref']=$res['ref'];
            $this->elem[$k]['id']=$res['id'];
            $k++;
         }
      }
   }
}
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function downloadSlideshow(obj)
{
   $.ajax({
      url: "scripts/slideshow.php",
      type: "GET",
      dataType: "json",
      success: function(data) { createSlideshow(obj,data); }
   });
}
function createSlideshow(obj,slideshow)
{
   var now=0,prev=0;
   if (!slideshow.state) { $(obj).remove(); return; }
   var imgs=slideshow.elem;
   var delay=slideshow.delay,changeTime=slideshow.changeTime;
   fadeTime=Math.ceil(changeTime/2);
   for (var i=0;i<imgs.length;i++) obj.append("<div id='slide-"+i+"'><a href='"+imgs[i]['ref']+"' alt='' target='_blank'><img src='"+imgs[i]['img']+"' alt=''></a></div>");
   $("#slide-"+now).fadeIn();
   prev=now;
   now++;
   if (imgs.length==1) return;
   setInterval(function()
   {
      $("#slide-"+prev).fadeOut(fadeTime,function()
      {
         if (now==imgs.length) now=0;
         $("#slide-"+now).fadeIn();
         prev=now;
         now++;
      });
   },delay);
}
FireBug выдаёт ошибку "imgs is null" следовательно data.elem==null, то же самое наблюдал при выводе алертом строки json
0
(-_(-_(o_O)_-)_-)
46 / 21 / 4
Регистрация: 19.08.2010
Сообщений: 238
31.01.2014, 01:41 4
Ага, вы используете Jquery. У Jquery есть метод.

Javascript
1
$.parseJSON(returnedJsonObject);
После чего к нему можно обращаться как к объекту.
Вот ссылочка.
1
462 / 265 / 55
Регистрация: 22.08.2010
Сообщений: 1,204
Записей в блоге: 4
31.01.2014, 01:51 5
Цитата Сообщение от Merisho Посмотреть сообщение
то же самое наблюдал при выводе алертом строки json
Чтобы посмотреть структуру объекта, нужно выводить в вэб-консоль
Javascript
1
 console.log(тут объект);
1
8 / 8 / 4
Регистрация: 23.05.2012
Сообщений: 87
31.01.2014, 20:27  [ТС] 6
S1nner, да, знаю про такое.Вроде как при указании dataType: "json" полученные данные сразу обрабатываются как json и возвращается объект.Ну по-крайней мере у меня так работает.
И да, уже всё работает, всем спасибо за ответы, попытки не увенчались успехом, а на утро уже всё работало.Может и с настройками сервака что было?
0
31.01.2014, 20:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2014, 20:27
Помогаю со студенческими работами здесь

Проблема с кодировкой после переноса на хостинг
Помогите кто то пожалуйста, кто шарит php у меня прога работает все норм на локалгосте а вот когда...

Сайт не работает после переноса на хостинг
Подскажите пожалуйста. Перенес сайт и базу на новый хостинг. Сайт ГАЗ-КУБАНЬ.РФ Нет подключения к...

Не работает сайт после переноса на хостинг
Здравствуйте. Сайт разрабатывается из-под локального веб-сервера (сборка XAMPP), но возникла...

После переноса но хостинг отказал margin-right, right
Добрый день всем! Дома, на Денвере сделал сайт. Есть в нем div, с css свойствами #cityList{...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru