该reloadPage
选项对函数无效.load()
,它对$.mobile.changePage()
函数有效:
$.mobile.changePage('some-url.html', {
reloadPage : true
});
文档:http: //jquerymobile.com/demos/1.1.0/docs/api/methods.html
请注意,这仅适用于外部页面。因此,如果您的应用程序在一个 HTML 文件中包含所有伪页面,则您无法使用此功能。但是,如果您只是将伪页面从单个 HTML 文档中拉出并制作它自己的一个,则可以。
否则,您可以使用.load()
重新加载页面,但要确保从服务器返回的 HTML 创建了有效的 jQuery Mobile 页面结构:
<div data-role="page">
<div data-role="content">
...
</div>
</div>
这是文档.load()
:http ://api.jquery.com/load/
请注意,您使用的方式.load()
是传递一个数据对象,因此您正在加载的 URL 接收一个名为reloadPage
set to的 GET 变量true
。因此,要使您的页面可以使用.load()
,只需删除{ reloadPage : true }
.
您可能遇到缓存问题,在这种情况下,我建议您使用$.ajax()
,以便您可以指定不允许缓存内容:
$.ajax({
url : serviceURL + 'contentproduct.php?id=' + getUrlVars()["id"],
type : 'get',
cache : false,
success : function (response) {
$('#contentproduct').html(response);
},
error : function (a, b, c) { console.log(b); }
});
设置cache : false
会在 AJAX 请求的 URL 的末尾放置一个时间戳,因此每次都会抓取一个新版本。