Как отключить "заменить URL" в Pjax - PullRequest
5 голосов
/ 28 марта 2012

Я использую Pjax с руководством от http://railscasts.com/episodes/294-playing-with-pjax?view=comments Мне не нужно менять URL, и этот код сценария кофе не работает:

.....

$ ("a # flag-comments"). Click ->

....

$. Pjax

контейнер: '[data-pjax-container-flag] ',

заменить: false,

url:' / flag_comments '

....

Есть идеи?

Ответы [ 3 ]

12 голосов
/ 19 июля 2013

Set push: false в настройках.В js это будет:

$(document).pjax('a', '#pjax-container', {push: false})
1 голос
/ 29 марта 2012

это не очень хорошо, но работает ....

> $(document)
>>      .on 'pjax:beforeSend', ->
>>          $.url_old = window.location.pathname
>>      .on 'pjax:success', ->
>>          history.pushState(null, "", $.url_old)
0 голосов
/ 28 марта 2012

Редактировать: Пожалуйста, смотрите ответ Клима ниже - Кажется, мой ответ больше не верен.


Так как точка PJAX (pushState AJAX) обновляет URL, я не думаю, что есть способ отключить его. Если обновление URL не то, что вам нужно, вы можете просто использовать стандартный AJAX? (по сути, используйте JQuery для получения ajax заданного пути, затем поместите содержимое в контейнер по вашему выбору)

Параметр «replace» в скрипте JQuery PJAX просто переключает использование «replaceState» и «pushState» для обновления URL-адреса страницы.

Извините, я не могу помочь.

...