如何在Pjax中关闭“替换url”

时间:2012-03-27 22:20:09

标签: ruby-on-rails url railscasts pushstate pjax

我使用Pjax和http://railscasts.com/episodes/294-playing-with-pjax?view=comments的教程 我不需要更改URL,这个咖啡脚本代码不起作用:

  

.....

     

$(“#flag-comments”)。点击 - >

     
    

...

         

$。pjax

         
      

container:'[data-pjax-container-flag]',

             

替换:false,

             

url:'/ flag_comments'

    
  
     

...

有什么想法吗?

3 个答案:

答案 0 :(得分:12)

在选项中设置 push:false 。在js中,它将是:

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

答案 1 :(得分:1)

它不是很好但是它正在工作......

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

答案 2 :(得分:-2)

编辑:请参阅下面的clime答案 - 看来我的答案不再正确。


由于PJAX(pushState AJAX)正在更新url,我认为没有办法禁用它。如果更新网址不是您之后可能只想使用标准AJAX? (基本上使用JQuery来执行给定路径的ajax get,然后将内容推送到您选择的容器中)

JQuery PJAX脚本中的“替换”选项只是在使用“replaceState”和&之间切换。 “pushState”更新页面网址。

抱歉,我无法提供更多帮助。