2011-08-10 3 views
0

J'ai une application développée en utilisant phoneGap et jQuery Mobile. Sur la première page, il y a une barre de navigation sur laquelle l'utilisateur clique pour naviguer vers une page qui a également quelques appels ajax pour obtenir des flux JSON à partir d'un serveur. Je fais ce qui suit,jQuery Mobile - Comment lier une page html qui contient de l'ajax dans une autre page html

<ul> 
    <li><a href="sites.html" data-icon="home" class="ui-btn-active">My</a></li> 
    <li><a href="profile.html" data-icon="gear">Recent</a></li> 
</ul> 

Mais la page ne se charge pas. Mais si j'ouvre la page directement cela fonctionne bien. Mes appels ajax sont dans l'événement document.ready().

Que puis-je faire pour cela?

Répondre

0

Je ne suis pas familier avec l'espace téléphonique, mais jQuery Mobile va automatiquement transformer les liaisons internes en appels ajax. Vous ne devriez rien avoir à faire avec votre document.ready().

jQuery Mobile Documentation - Page Links


Dans jQuery Mobile, les document.ready() ne se déclenche que lorsque le chargement de la page de départ. De plus, étant donné que jQuery Mobile n'insère le contenu que lorsqu'il charge une nouvelle page, rien dans l'en-tête n'est exécuté. Afin de simuler l'effet de document.ready() sur d'autres pages, procédez comme suit:

$('#aboutPage').live('pagecreate',function(event){ 
alert('This page was just enhanced by jQuery Mobile!'); 
// Insert the calls that were in the document.ready() here. 
}); 

jQuery Mobile Documentation - Page Scrpting

+0

Désolé, je pense que je ne l'ai pas expliqué mon problème correctement. Ce que je fais dans ma fonction document.ready() est de faire des appels GET à un serveur pour obtenir des flux. Ce que je ressens est que je ne peux pas faire fonctionner ces appels lorsque je navigue à travers les liens vers ces pages. – kasunLak

+0

Ok. J'ai mis à jour ma réponse pour refléter cela. – MikeKusold

+0

Merci MikeKusold. Ça a marché. – kasunLak

Questions connexes