Posted 5 мая, 20186 yr comment_147100 Всем привет, создаю плагин, в хуке кода создал функцию для обработки ajax запроса (буду из бд выдавать список языков для выпадающего списка), суть проблемы: return не работает, var_dump тоже. Если обращаюсь аяксом к контроллеру, в котором моя функция function MyAction () { return 'answer!'; } то в ответ прилетает html код части страницы, т.е. с head, body но без answer. Если в контроллер добавлю \IPS\Db::i()->output = 'Answer!'; То при переходе по url адресу, выдает строку 'Answer!' но не на пустой странице, а на странице с шаблоном форума, в ответ на аякс запрос, все так же прилетает кусок страницы с исходным кодом. Подскажите пожалуйста, как в IPS 4 работет return в контроллерах, как мне отвечать на аякс запрос и что я делаю не так?
5 мая, 20186 yr comment_147102 Я думаю стоит немного почитать как работает return , она вернет строку, но не отобразит её. Класс \ips\bd отвечает за sql Попробуй вернуть так $var = [ '1' => 'q', '2' => 'z', ]; \IPS\Output::i()->json( $var );
5 мая, 20186 yr Author comment_147106 3 часа назад, greykoo сказал: Я думаю стоит немного почитать как работает return , она вернет строку, но не отобразит её. Класс \ips\bd отвечает за sql Попробуй вернуть так $var = [ '1' => 'q', '2' => 'z', ]; \IPS\Output::i()->json( $var ); Спасибо, работает, но такой вопрос: return в IPS не воспринимается? Я в доках этот момент не нахожу, может есть линк или в конце концов литература по ips как бы это не звучало...
6 мая, 20186 yr comment_147111 7 часов назад, Clouds сказал: Спасибо, работает, но такой вопрос: return в IPS не воспринимается? Я в доках этот момент не нахожу, может есть линк или в конце концов литература по ips как бы это не звучало... Это общая документация PHP. Задача return вернуть, а не отобразить. Возможно ты перепутал с оператором echo
6 мая, 20186 yr Author comment_147114 1 час назад, greykoo сказал: Это общая документация PHP. Задача return вернуть, а не отобразить. Возможно ты перепутал с оператором echo Так в том то и дело, если я делаю Ajax запрос то return из контроллера должен же вернуть мне либо переменную, либо массив, либо объект... кстати echo тоже не срабатывает
6 мая, 20186 yr comment_147116 28 минут назад, Clouds сказал: Так в том то и дело, если я делаю Ajax запрос то return из контроллера должен же вернуть мне либо переменную, либо массив, либо объект... кстати echo тоже не срабатывает Тогда в таком случае тебе нужно возвращать строку или массив данных через \IPS\Output::i()->json и потом с ними работать
6 мая, 20186 yr Author comment_147117 3 минуты назад, greykoo сказал: Тогда в таком случае тебе нужно возвращать строку или массив данных через \IPS\Output::i()->json и потом с ними работать Понял... есть где-то классам документация или хотяб список, потому что опять же либо я баран и не вижу в доках, либо в доках этого нет?
6 мая, 20186 yr comment_147123 2 часа назад, Clouds сказал: Понял... есть где-то классам документация или хотяб список, потому что опять же либо я баран и не вижу в доках, либо в доках этого нет? Весь функционал лежит тут system почти всякая функция описывается, да и по классу интуитивно понятно что она означает Вся документация тут https://invisioncommunity.com/developers/docs/general/enabling-developer-mode-r23/
6 мая, 20186 yr 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.