Passa il parametro tra le pagine usando jquery mobile

Qual è il modo giusto per passare i parametri tra le pagine in jquery mobile. In Q & A di jquery mobile, c’è qualche suggerimento per il plugin. È obbligatorio? Per favore fatemi sapere il modo corretto. Non c’è una risposta concreta. Devo passare i parametri per tutti i collegamenti nella mia pagina.

http://view.jquerymobile.com/master/demos/faq/pass-query-params-to-page.php

Manipolazione di dati / parametri tra le transizioni di pagina

È ansible inviare un parametro / i da una pagina all’altra durante la transizione della pagina. Può essere fatto in pochi modi.

Riferimento: https://stackoverflow.com/a/13932240/1848600

Soluzione 1:

Puoi passare i valori con changePage:

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

E leggerli così:

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

[Esempio] [3]:

index.html

                 

First Page

second.html

                

Second Page

Soluzione 2:

Oppure puoi creare un object javascript persistente per uno scopo di archiviazione. Finché ajax viene utilizzato per il caricamento della pagina (e la pagina non viene ricaricata in alcun modo) l’object rimarrà attivo.

 var storeObject = { firstname : '', lastname : '' } 

Esempio: http://jsfiddle.net/Gajotres/9KKbx/

Soluzione 3:

Puoi anche accedere ai dati dalla pagina precedente in questo modo:

 $('#index').live('pagebeforeshow', function (e, data) { alert(data.prevPage.attr('id')); }); 

l’ object prevPage contiene una pagina precedente completa.

Soluzione 4:

Come ultima soluzione abbiamo un’implementazione HTML di localStorage. Funziona solo con i browser HTML5 (inclusi i browser Android e iOS) ma tutti i dati memorizzati sono persistenti tramite l’aggiornamento della pagina.

 if(typeof(Storage)!=="undefined") { localStorage.firstname="Dragan"; localStorage.lastname="Gaic"; } 

Esempio: http://jsfiddle.net/Gajotres/J9NTr/

Ulteriori informazioni

Se vuoi saperne di più su questo argomento dai un’occhiata a questo articolo . Troverete diverse soluzioni con esempi.

Puoi anche usarlo con relazioni esterne nei link (per me e il mio scopo è più facile), quindi ho voluto condividere questo:

HTML:

  Structure 

JS:

 $( document ).on( "pageinit", "#page1", function( event ) { var parameters = $(this).data("url").split("?")[1]; parameter = parameters.replace("structure=",""); alert(parameter); }); 

Nel mio caso, la struttura = ‘123’ è creata dynamicmente, nessuno scrive un valore fisso ‘123’ per scopi dinamici 🙂

Grazie per la divisione dell’URL del post di cui sopra (pls favore il suo post), questa è solo un’aggiunta / ulteriore spiegazione.