Jump to content

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

Featured Replies

Posted
comment_147100

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

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

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

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

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

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

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

comment_147102

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

 

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

$var = [

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

 

 

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

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

 

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


$var = [

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

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.