Je dois manquer une chose vraiment simple ici, parce que cela semble si évident ... et je ne peux pas croire que je ne trouve rien sur le web pour cela! J'essaie d'utiliser la bibliothèque mobile jQuery pour créer une vue mobile de mon site Web.jQuery mobile ajax pas chargement
J'ai trois pages (données-rôle) dans ma page. Deux avec le contenu statique et le second avec le contenu que je souhaite charger avec ajax. La page d'accueil a le lien vers les deux autres pages:
<div data-role="page" id="home">
<div data-role="header" id="header">
<h1>the header</h1>
</div>
<div data-role="content">
<a href="http://absolutepathtomyserver/homepage#highlights" data-role="button">highlights</a>
<a href="http://absolutepathtomyserver/updatePlaylistTemplate#playlist" data-role="button" rel="external">playlist</a>
</div>
</div>
<div data-role="page" id="highlights">
<div data-role="content">
<p class="center">My static content</p>
</div>
</div>
<div data-role="page" id="playlist">
<div data-role="content"><!-- TO BE FILLED FROM AJAX! --></div>
</div>
De ma compréhension des nombreux tutoriels que je lis, par défaut, tous les un des liens href exécuter un appel ajax, sauf indication contraire, mais il ne fonctionne pas. Lorsque je clique sur le lien en surbrillance, la diapositive est comme attendue sans charger aucune autre page puisque c'est la même page. Tout va bien ici. Mais lorsque je clique sur la page de la liste de lecture, l'animation de la diapositive est exécutée mais l'appel ajax n'est jamais fait pour que le contenu de la liste de lecture ne soit jamais rempli. Notez que je surveille les appels réseau mais aucun n'est fait quand je clique sur le lien.
Qu'est-ce que j'ai raté?
Est-ce mon appel absolu? J'utilise l'URL de base du tag pour le contenu statique, donc les liens doivent être absolus dans toute mon application.
Ai-je besoin d'utiliser la méthode .bind?
Dois-je effectuer l'appel ajax manuellement? Je peux le faire, mais à partir de ce que je lis il semble être natif à href lien dans l'exetension mobile ...
Voici un lien vers la méthode get de jQuery: http://api.jquery.com/jQuery.get/. C'est un raccourci pour la même fonction que celle que vous utilisez ci-dessus. De même que pour le chargement des spinner, consultez la page Méthodes et utilitaires de la documentation de jQuery Mobile pour savoir comment afficher/masquer le spinner de chargement: http://jquerymobile.com/demos/1.0b2/docs/api/methods.html – Jasper
Oui, la méthode short get get est utile pour certaines personnes. Mais dans mon cas je besoin de la version complète parce que je veux gérer l'apparence de la fileuse comme dans: \t \t beforeSend: function();, \t \t complète {$ mobile.showPageLoadingMsg().}: Function() { $ .mobile.hidePageLoadingMsg();}, –
Avant d'appeler la méthode $ .get, appelez le spinner à afficher, puis dans votre fonction de rappel, supprimez le spinner de la vue ... $ .mobile.showPageLoadingMsg(); $ .get ('url', function() {$ .mobile.hidePageLoadingMsg();}); – Jasper