Как сделать чтобы не просходил переход по ссылке PJAX???
Как сделать чтобы не просходил переход по ссылке PJAX???
Раз никто не отвечает в одной теме буду плодить дубли. Есть PJAX контейнер. Мне надо чтобы при клике по ссылке он асинхронно перезагружался как и должен. Вместо этого у меня просто происходит переход по ссылке. Параметр enablePushState у контейнера в false и у ссылки data-pjax в true, но это не помогает!!! Помогите!!! Это срочно!!! Второй день мучаюсь!!!
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
1. Смотреть, уходит ли запрос асинхронно.
2. Если нет, проверить, находится ли ссылка внутри pjax контейнера, и имеет ли атрибут data-pjax=1
3. Проверить ответ от сервера. Код ответа может быть только 200. Никаких редиректов и ошибок
4. Проверить время выполнения запроса. Если запрос выполняется дольше, чем ждет pjax, установить timeout повыше
5. Как вариант можно поискать по форуму, так как обсуждалось уже много раз
2. Если нет, проверить, находится ли ссылка внутри pjax контейнера, и имеет ли атрибут data-pjax=1
3. Проверить ответ от сервера. Код ответа может быть только 200. Никаких редиректов и ошибок
4. Проверить время выполнения запроса. Если запрос выполняется дольше, чем ждет pjax, установить timeout повыше
5. Как вариант можно поискать по форуму, так как обсуждалось уже много раз
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
1. Уходит, но респонз не возвращаетurichalex писал(а): ↑2019.01.22, 12:40 1. Смотреть, уходит ли запрос асинхронно.
2. Если нет, проверить, находится ли ссылка внутри pjax контейнера, и имеет ли атрибут data-pjax=1
3. Проверить ответ от сервера. Код ответа может быть только 200. Никаких редиректов и ошибок
4. Проверить время выполнения запроса. Если запрос выполняется дольше, чем ждет pjax, установить timeout повыше
5. Как вариант можно поискать по форуму, так как обсуждалось уже много раз
2. Да, я же сказал, имеет и внутри.
3. Респонза нет от асинхронного запроса. Я смотрел в дебаг-тулз. Просто нет респонза и все тут. Никакого.
4. Вообще в запросе нет никаких тяжелых операций. Ну только рендеринг. Модели как видно в первой теме - очень тонкие - по одному текстовому полю. Сохранить/удалить их много времени не надо. Но попробую увеличить таймаут...
5. Я гуглил разумеется. И на этом форуме тоже темы видел. Но моей проблемы нигде нет. Чаще всего это решается установкой enablePushState и data-pjax, но мне не помогло
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
А что вы хотите, если у вас нет ответа? Увеличивайте timeout.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
Так! Со ссылками я нашел решение - надо указать data-method в post. Тогда все нормально. Но с формами по прежнему проблема...
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
data-method=post участвует в обход пиджака. Это фича yii, она отправляет обычный post запрос
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
И еще забыл указать важное условие. Пиджак должен делать запрос на то же самое действие
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
Одно и то же, это значит, если текущий роут у вас /site/action то ссылка должна вести на это же самое действие
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
Ну дак запрос отправляется аяксом. Вы бы хоть часть кода показали. Че гадать
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
Текущее действие - list
Форма на действие create
Ссылка на действие delete
delete !== list
create !== list
Форма на действие create
Ссылка на действие delete
delete !== list
create !== list
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
Суть пиджака в том, что он отправляет запрос на то же действие, в ответе получает полный html, который парсит и возвращает самому себе только то, что находится в его теле, и этим ответом тупо заменяет все содержимое своего тела
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
Неверное утверждение, ему достаточно найти pjax-container со своим id, и даже в ответе не нужен полный хтмл, достаточно фрагмента с pjax.
viewtopic.php?p=244603#p244603
Re: Как сделать чтобы не просходил переход по ссылке PJAX???
Ну да. Если в ответе отдать просто текст, он его поместит в свой контейнерandku83 писал(а): ↑2019.01.23, 03:15Неверное утверждение, ему достаточно найти pjax-container со своим id, и даже в ответе не нужен полный хтмл, достаточно фрагмента с pjax.
viewtopic.php?p=244603#p244603