Перейти к содержанию

Не срабатывает return и var_dump()


Рекомендуемые сообщения

Всем привет, создаю плагин, в хуке кода создал функцию для обработки ajax запроса (буду из бд выдавать список языков для выпадающего списка), суть проблемы: return не работает, var_dump тоже. Если обращаюсь аяксом к контроллеру, в котором моя функция

function MyAction () { return 'answer!'; }

то в ответ прилетает html код части страницы, т.е. с head, body но без answer.

Если в контроллер добавлю 

\IPS\Db::i()->output = 'Answer!';

То при переходе по url адресу, выдает строку 'Answer!' но не на пустой странице, а на странице с шаблоном форума, в ответ на аякс запрос, все так же прилетает кусок страницы с исходным кодом. 

Подскажите пожалуйста, как в IPS 4 работет return в контроллерах, как мне отвечать на аякс запрос и что я делаю не так?

Ссылка на комментарий
Поделиться на другие сайты

Я думаю стоит немного почитать как работает return , она вернет строку, но не отобразит её. Класс \ips\bd отвечает за sql 

 

Попробуй вернуть так

$var = [

	'1' => 'q',
	
	'2' => 'z',
	
];
	
\IPS\Output::i()->json( $var );

 

 

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, greykoo сказал:

Я думаю стоит немного почитать как работает return , она вернет строку, но не отобразит её. Класс \ips\bd отвечает за sql 

 

Попробуй вернуть так


$var = [

	'1' => 'q',
	
	'2' => 'z',
	
];
	
\IPS\Output::i()->json( $var );

 

 

Спасибо, работает, но такой вопрос: return в IPS не воспринимается? Я в доках этот момент не нахожу, может есть линк или в конце концов литература по ips как бы это не звучало... 

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, Clouds сказал:

Спасибо, работает, но такой вопрос: return в IPS не воспринимается? Я в доках этот момент не нахожу, может есть линк или в конце концов литература по ips как бы это не звучало... 

Это общая документация PHP. Задача return вернуть, а не отобразить. Возможно ты перепутал с оператором echo 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, greykoo сказал:

Это общая документация PHP. Задача return вернуть, а не отобразить. Возможно ты перепутал с оператором echo 

Так в том то и дело, если я делаю Ajax запрос то return из контроллера должен же вернуть мне либо переменную, либо массив, либо объект... кстати echo тоже не срабатывает

Ссылка на комментарий
Поделиться на другие сайты

28 минут назад, Clouds сказал:

Так в том то и дело, если я делаю Ajax запрос то return из контроллера должен же вернуть мне либо переменную, либо массив, либо объект... кстати echo тоже не срабатывает

Тогда в таком случае тебе нужно возвращать строку или массив данных через \IPS\Output::i()->json и потом с ними работать 

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, greykoo сказал:

Тогда в таком случае тебе нужно возвращать строку или массив данных через \IPS\Output::i()->json и потом с ними работать 

Понял... есть где-то классам документация или хотяб список, потому что опять же либо я баран и не вижу в доках, либо в доках этого нет?

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Clouds сказал:

Понял... есть где-то классам документация или хотяб список, потому что опять же либо я баран и не вижу в доках, либо в доках этого нет?

Весь функционал лежит тут system почти всякая функция описывается, да и по классу интуитивно понятно что она означает 

Вся документация тут https://invisioncommunity.com/developers/docs/general/enabling-developer-mode-r23/

Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, greykoo сказал:

Весь функционал лежит тут system почти всякая функция описывается, да и по классу интуитивно понятно что она означает 

Вся документация тут https://invisioncommunity.com/developers/docs/general/enabling-developer-mode-r23/

Понял, спасибо!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...