jQuery Mobile: Récupère les données transmises à la page via changePage

J’essaie de passer un object d’une page à une autre et selon les documents JQM, cela devrait être correct:

$.mobile.changePage( "about/us.html", { data: {paramUno:"Uno", paramDos:11} }); 

Mon problème est que je ne suis pas sûr du meilleur moyen d’accéder à ces valeurs une fois que us.html est chargé. J’ai ajouté des rappels d’événement de page pour pageshow , pagebeforeshow , pageinit et pagechange et, dans tous les cas, event.data n’est undefined . Quelle est la bonne façon de faire cela? Je préférerais ne pas utiliser localStorage ou une variable global / namespaced à moins que ce ne soit mon seul choix.

Je vous remercie!

Solution

Envoyez-les comme ceci:

 $.mobile.changePage('page2.html', { dataUrl : "page2.html?parameter=123", data : { 'paremeter' : '123' }, reloadPage : true, changeHash : true }); 

Et lisez-les comme ceci:

 $("#index").live('pagebeforeshow', function (event, data) { var parameters = $(this).data("url").split("?")[1];; parameter = parameters.replace("parameter=",""); alert(parameter); }); 

Vous trouverez d’autres exemples ici: jQuery Mobile: document prêt par rapport aux événements de page , il suffit de regarder le chapitre: Manipulation des données / parameters entre les transitions de page .

Exemple:

index.html

                 

First Page

second.html

                

Second Page

Plus d’informations

Si vous souhaitez en savoir plus sur ce sujet, consultez cet article . Vous trouverez plusieurs solutions avec des exemples.