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