jquery mobile阻止浏览器重新加载

时间:2016-04-27 15:45:02

标签: jquery-mobile reload

我在Ajax中向页面添加了数据,然后我切换到了页面 $.mobile.changePage('#postDetails', { transition: "slide" }) 但是当我刷新浏览器时,我用Ajax添加的所有内容都不再存在了。

1 个答案:

答案 0 :(得分:0)

刷新页面将删除Ajax数据,解决您需要在pageshow事件中添加Ajax调用的问题,如下所示

$(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");
    }
 });
})

现在这个ajax请求在pageshow事件中,因此每次显示popstDetails页面时,它都会对postDetailsUrl进行ajax调用,并在commentList元素中显示数据。

了解有关网页活动的更多信息,请参阅gajotres的blog