Javascript AJAX模板呈现后的PJAX

Javascript AJAX模板呈现后的PJAX,javascript,jquery,html,ajax,pjax,Javascript,Jquery,Html,Ajax,Pjax,我有一个使用jQuery和pjax(独立)的应用程序。我们正在尝试看看是否可以使用比jquery pjax更灵活、更小的npm pjax 我的一个函数在加载数据后设置div的html,这个html包含我们想要作为pjax链接的链接,例如$('#link container')。html(')它使用pjax。。。但随后会加载两次资源 也许最好的解决方案是使用jQueryPJAX($(document).pjax(一个[dataPJAX]等)但是我想看看以前是否有人遇到过这种类型的问题。可能很少包含

我有一个使用jQuery和pjax(独立)的应用程序。我们正在尝试看看是否可以使用比jquery pjax更灵活、更小的npm pjax

我的一个函数在加载数据后设置div的html,这个html包含我们想要作为pjax链接的链接,例如
$('#link container')。html(')它使用pjax。。。但随后会加载两次资源


也许最好的解决方案是使用jQueryPJAX($(document).pjax(一个[dataPJAX]等)但是我想看看以前是否有人遇到过这种类型的问题。可能很少包含jQuery和非jQuery pjax,但对于任何异步数据查询和DOM修改,似乎都会发生这种情况,我只想重新定义pjax。

我使用的是jQuery pjax,当您使用或配置错误时,它也会刷新页面o您遇到了我遇到的问题之一

无论如何,我不确定它是否会帮助解决您的问题,但我建议每个人都使用Firefox和Firebug,并在“控制台”选项卡中单击“持久化”,您通常会在那里发现一些可能有用的错误,并且由于某个地方的错误可能会导致页面刷新-有时您会错过它,因为控制台也正在刷新

我学到的是,你需要确保在写作时:

<a href="/account_detail.html?=2" data-pjax>bla</a>

您需要有一个容器——PJAX将内容放入其中,如:

<div id="pjax-container"></div>

首先配置PJAX来绑定这些对象:

<script>
  // this is how I define it in jquery-pjax, so adjust it as you use it.
  $(document).pjax('a[data-pjax]', '#pjax-container');
</script>

//这就是我在jQueryPJAX中定义它的方式,所以在使用时对其进行调整。
$(document.pjax('a[data pjax]','#pjax container');
因此,我学到了使用PJAX进行刷新的要点:

  • 我发送了两次标题(后端代码)
  • 容器突然从HTML主体(div id=“pjax容器”)中删除,当DOM丢失时,它没有 放置以删除HTML-因此它只需刷新页面
  • 当我最初用jQuery绑定a[data pjax]时,jQuery不会自动重新绑定新的DOM对象(除非使用“live/on”),因此它们充当常规的
    标记,并用新的URL重新加载页面
  • 某些JS/PJAX语法错误
在您的例子中,如果pjax容器是“#link container”,我不确定将标记放在其中是否是一个好主意