Как отключить замену URL в Pjax

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

.....

$("#флаг-комментарии").click ->

....

$.pjax

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

заменить: ложь,

URL: '/flag_comments'

....

Есть идеи?


person quatermain    schedule 27.03.2012    source источник


Ответы (3)


Изменить: см. ответ clime ниже. Похоже, мой ответ больше не верен.


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

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

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

person Carl    schedule 28.03.2012

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

$(document).pjax('a', '#pjax-container', {push: false})
person clime    schedule 19.07.2013

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

> $(document)
>>      .on 'pjax:beforeSend', ->
>>          $.url_old = window.location.pathname
>>      .on 'pjax:success', ->
>>          history.pushState(null, "", $.url_old)
person quatermain    schedule 29.03.2012