2012-12-23 113 views
4

我想用PJAX更新2个独立的div。我的PJAX失败,只有第二个被加载。下面是一个例子:多个PJAX请求

<div id="content-1"></div> 
<div id="content-2"></div> 

<button onclick=" 
$.pjax({ 
url: 'content-1.php', 
container: '#content-1', 
push: false 
}); 

$.pjax({ 
url: 'content-2.php', 
container: '#content-2', 
push: false 
}); 
"></button> 

的问题是,在2个pjax请求不能同时运行,第二个重叠的第一个,所以只有第二个(具有ID =“内容2”)已更新。 由于某种原因,Push设置为false,我不需要在特定情况下推送网址,但我需要网站的其他部分。

+0

你是否100%肯定第一个pjax的作品?如果你删除了第二个pjax调用,它是否会改变#content-1? – Popnoodles

+0

我想你应该使用普通的ajax'load()',如果你不想更新页面的URL。 –

+0

@popnoodles是的,我100%确定当第二个PJAX被删除时,第一个工作。 – thexpand

回答

2

如果URL地址不需要改变,应该使用AJAX代替PJAX。 PJAX和AJAX做同样的事情 - 只更新HTML内容的某个部分,而不重新加载整个页面。但是,PJAX更改地址栏中的URL地址,因此只能以特定方式使用。

PJAX和AJAX使用的一个很好的例子是一个简单的图库。如果页面必须更改,最好使用PJAX,以便它可以更改地址栏中的URL,为页面添加GET参数。但在弹出窗口中使用AJAX获取点击图像的附加信息更为合适。

+0

我不明白。你有一个分裂的个性或什么?用这种方式回答你自己。 – vsync

+0

自己弄明白了,所以我写了一个答案。也许你是谁不知道如何Stackoverflow工作:) – thexpand

+1

我知道如何,我也回答自己的问题,但不像我自己说话:)我保持技术。顺便说一句,索非亚的石头! – vsync