2016-04-27 12 views
0

I-Daten auf der Seite in Ajax hinzugefügt und dann wechselte ich auf die Seite $.mobile.changePage('#postDetails', { transition: "slide" }) aber dann, wenn ich den Browser alle Inhalte aktualisiere ich mit dem Ajax hinzugefügt ist dort nicht mehr.jQuery Mobile verhindert Browser neu laden

+0

können Sie Sie verwendet Ajax-Aufrufe/Funktionen zur Verfügung stellen? –

+0

$ Schnipsel ({ url: postDetailsUrl, Typ: "post", Daten: {id: id}, Erfolg: function (data) { $ ('# commentList') html (Daten); . $ ('# commentsNum'). text ($ ('# commentList .comment'). length); initCommentPage(); $ .mobile.changePage ('# postDetails', {Übergang: "slide"}) } }); –

Antwort

0

Auffrischen eine Seite wird Ajax Daten entfernen, um dieses Problem zu beheben müssen Sie Ihren Ajax-Aufruf innerhalb pageshow Event hinzufügen wie folgt

$(document).on("pageshow","#postDetails",function(){ 
$.ajax({ 
    url: postDetailsUrl, 
    type: "post", 
    data: {id: id}, 
    beforeSend: function() { 
     $.mobile.loading("show"); 
    }, 
    complete: function() { 
     $.mobile.loading("hide"); 
    }, 
    success: function (data) { 
     $('#commentList').html(data); 
     $('#commentsNum').text($('#commentList .comment').length); 
     initCommentPage();    
    }, 
    error: function (requestObject, error, errorThrown) { 
     alert("Error in communication"); 
    } 
}); 
}) 

jetzt dieser Ajax-Request ist in pageshow Ereignisse so wird jedes Mal popstDetails Seite gezeigt Es wird einen AJAX-Aufruf an postDetailsUrl vornehmen und die Daten im Element commentList anzeigen.

mehr über Seite Ereignisse sehen gajotres blog

+0

Dank Arpit, aber wie kann ich die ID speichern? –

+0

im lokalen Speicher des Browsers speichern. auf den eingestellten Wert 'localStorage.setItem ('idkey', IDValue);' und Wert erhalten 'IDValue = localStorage.getItem ('idkey');' Klick [für mehr] (http: // www .w3schools.com/html/html5_webstorage.asp) Beschreibung –

Verwandte Themen