更新数据库后在jQuery移动站点中更新动态PHP
假设我在jQuery移动网站上有2个页面 Page1-使用内嵌PHP显示数据库中的数据 第2页-将新数据插入数据库更新数据库后在jQuery移动站点中更新动态PHP,php,jquery,jquery-mobile,mobile,refresh,Php,Jquery,Jquery Mobile,Mobile,Refresh,假设我在jQuery移动网站上有2个页面 Page1-使用内嵌PHP显示数据库中的数据 第2页-将新数据插入数据库 问题是,在page2向数据库添加内容后,返回时page1没有更新。我可以通过按F5进行更新,但如何使用jQuery实现相同的更新?我对jQuery Moblie不是很熟悉,但我发现: function refreshPage() { jQuery.mobile.changePage(window.location.href, { allowSamePageTr
问题是,在page2向数据库添加内容后,返回时page1没有更新。我可以通过按F5进行更新,但如何使用jQuery实现相同的更新?我对jQuery Moblie不是很熟悉,但我发现:
function refreshPage()
{
jQuery.mobile.changePage(window.location.href, {
allowSamePageTransition: true,
transition: 'none',
reloadPage: true
});
}
我认为将页面重新加载为true应该可以做到这一点
如果这不起作用,请查看以下答案:
希望这有帮助 我认为您正在使用
pageinit
事件在第1页显示数据。这将只触发一次,并且不会在每次添加新数据时更新数据
您需要使用第1页的pagebeforeshow
事件从数据库中获取数据。这样,每次都会带来新的数据,这正是您所需要的。这里有一个语法:
$(document).on("pagebeforeshow", "#page1", function() {
//call to server
});
如果未使用
pageinit
,则必须使用document.ready
事件来获取数据。嗯,就是这样做的。您不能将ready
与jquery mobile一起使用。DOMready
将初始化整个文档,这将使jQM的ajax
页面更改功能变得毫无意义和无用。昨晚已经很晚了,我错过了使用ajax获取内联php内容的机会
我就是这样解决的:
$(document).on('pagebeforeshow', function(){
$.ajax({
type: "GET",
url: "includes/db/ajax_show_php_content.php",
success: function(html) {
$("#page1").html(html); //Insert PHP content
$("#page1").trigger('create'); //Apply jQuery Mobile style to it.
});
});