Задать вопрос
  • Как отправить форму без перезагрузки страницы, после отправки появится сообщение. Есть пример, но не работает?

    Нужно посмотреть что вам отвечает сервер. Для этого нужно открыть консоль браузера, вкладку Network ( ctrl+shift+i ). Затем выбрать ваш запрос, получите примерно следующую картину:
    2eaabc9a3350400a91f073c07ab8ed4c.png
    Здесь вас, в первую очередь, интересуют вкладки Headers и Response
    Вкладка Response как раз и есть ваш ответ сервера.
    Во вкладке Headers для начала нужно посмотреть параметр General > Status Code
    Ваша коллбек функция:
    success: function() {
                       //код в этом блоке выполняется при успешной отправке сообщения
                       alert("Ваше сообщение отпрвлено!");
                });

    Обрабатывает только положительные ответы ( поэтому она и называется success )
    Положительными считаются ответы 2хх (т.е. 200, 201 и т.д.)
    Подробнее почитать можно тут: Ссылка
    Подозреваю что у вас будет статус ответа 404 или 500, поэтому функция success и не срабатывает.
    Поэтому для решения проблемы вам нужно разобраться что отвечает вам сервер, если это 404, то проверить доступен ли адрес на который вы отправляете запрос, если 500, то скорее всего у вас ошибка при выполнения php скрипта в файле send.php
    Ответ написан
  • Подключение js файлов YII2, не могу разобраться?

    @alkul93 Автор вопроса
    Или указать путь с ресурсам через

    Спасибо за развернутый ответ, вы меня натолкнули на мысль, у меня advanced версия, поэтмоу полный путь к js файлам у меня такой:
    /backend/modules/mymodule/assets/js/
    А в переменной $sourcePath вот такой путь:
    public $sourcePath = '@app/modules/mymodule/assets';

    Возможно для advanced версии, для backend части нужно другой путь прописать?
    Что то типа
    public $sourcePath = '@app/backend/modules/mymodule/assets';

    ( это пример, так тоже не работает )
    Что то не могу найти в документации, может сталкивались?
    Ответ написан