2012-12-23 112 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