我有一个小型的jQuery移动网站。
.html
个文件ajax/json/web service
我的大多数网页都使用web service, via AJAX & JSON
中的数据,所以我使用了以下内容:
$(document).on( 'pagebeforecreate', '#monday', function() {
// do some stuff on before create, load data with AJAX
});
现在,我如何强制该页面重新创建(pagebeforecreate事件)以便再次运行AJAX内部(从服务器获取最新数据)?
答案 0 :(得分:2)
使用pageBeforeShow
代替pageBeforeCreate
。
来自jqm documentation,关于创作活动。
请注意,这些事件每个“页面”只会触发一次,而不是每次显示和隐藏页面时触发的显示/隐藏事件。
答案 1 :(得分:2)
我建议您创建一个函数,可以在pagebeforecreate
事件触发时调用,也可以在您想要更新站点时调用:
function myUpdateFunc() {
// load data w/ AJAX
}
$(document).on('pagebeforecreate', '#monday', function () {
//do some stuff on `pagebeforecreate`
myUpdateFunc();
});
现在,您可以从声明范围内的任何位置调用myUpdateFunc()
函数。
此外,您可以使用.trigger()
触发事件,在事件的事件处理程序中运行代码:
$('#monday').trigger('pagebeforecreate');
答案 2 :(得分:1)
使用以下代码强制页面重新创建/刷新:
function refreshPage() {
$.mobile.changePage(
window.location.href,
{
allowSamePageTransition : true,
transition : 'none',
showLoadMsg : false,
reloadPage : true
}
);
}
从here进行测试。