4

PJAXで2つの別々のdivを更新しようとしています。PJAXが失敗し、2番目の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リクエストを同時に実行できず、2番目のリクエストが最初のリクエストとオーバーラップするため、2番目のリクエスト(id = "content-2"のリクエスト)のみが更新されることです。プッシュがfalseに設定されている理由は、その特定のケースではURLをプッシュする必要はありませんが、サイトの他の部分では必要です。

4

1 に答える 1

2

URL アドレスを変更する必要がない場合は、PJAX の代わりに AJAX を使用する必要があります。PJAX と AJAX は同じことを行います。ページ全体をリロードせずに、HTML コンテンツの特定の部分のみを更新します。ただし、PJAX はアドレス バーの URL アドレスを変更するため、その特定の方法でのみ使用する必要があります。

PJAX と AJAX の使用法の良い例は、単純なギャラリーです。ページを変更する必要がある場合は、ページの GET パラメータを追加してアドレス バーの URL を変更できるように、PJAX を使用することをお勧めします。ただし、ポップアップでクリックされた画像の追加情報を取得するには、AJAX を使用する方が適切です。

于 2013-09-11T08:51:08.837 に答える