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
Antwort
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
Dank Arpit, aber wie kann ich die ID speichern? –
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 –
können Sie Sie verwendet Ajax-Aufrufe/Funktionen zur Verfügung stellen? –
$ 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"}) } }); –