2012-12-23 3 views
4

J'essaye de mettre à jour 2 div séparés avec PJAX. Mon PJAX échoue et seul le second est chargé. Voici un exemple:Demandes PJAX multiples

<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> 

Le problème est que les 2 demandes de pjax ne peuvent pas fonctionner simultanément et le second chevauche le premier, alors que le second (celui avec id = « content-2 ») Est mis à jour. Pousser est mis à faux pour une raison, je n'ai pas besoin de l'url pour être poussé dans ce cas particulier, mais j'en ai besoin pour d'autres parties du site.

+0

Êtes-vous sûr à 100% que le premier pjax fonctionne? si vous supprimez le second appel pjax change-t-il # content-1? – Popnoodles

+0

Je pense que vous êtes censé utiliser ajax ordinaire 'load()' si vous ne voulez pas mettre à jour l'URL de la page. –

+0

@popnoodles Oui, je suis sûr à 100% que lorsque le second PJAX est supprimé, le premier fonctionne. – thexpand

Répondre

2

Si l'adresse URL n'a pas besoin d'être modifiée, AJAX doit être utilisé à la place de PJAX. PJAX et AJAX font la même chose - mettre à jour seulement une certaine partie du contenu HTML, sans recharger toute la page. Toutefois, PJAX modifie l'adresse URL dans la barre d'adresse, il ne doit donc être utilisé que de cette manière particulière.

Un bon exemple de l'utilisation de PJAX et AJAX est une galerie simple. Si la page doit être modifiée, il est préférable d'utiliser PJAX, afin de pouvoir modifier l'URL dans la barre d'adresse, en ajoutant un paramètre GET pour la page. Mais il est plus approprié d'utiliser AJAX pour obtenir des informations supplémentaires pour une image cliquée dans une fenêtre contextuelle.

+0

Je ne comprends pas. Avez-vous une personnalité divisée ou quelque chose? Je me suis répondu de cette manière .. – vsync

+0

A l'ai compris moi-même, j'ai donc écrit une réponse. Peut-être que vous êtes celui qui ne sait pas comment fonctionne Stackoverflow :) – thexpand

+1

Je sais comment, je réponds aussi à mes propres questions, mais pas comme si je me parlais :) Je le garde technique. BTW, Sofia rochers! – vsync