我正在尝试使用phonegap开发移动应用,但我遇到了问题。
function onBodyLoad(){
$('#contentdining').load('http://localhost/m/contentdining.php',
{reloadPage:true});
var id = getUrlVars()["id"];
var product = serviceURL+'contentproduct.php?id='+id;
$('#contentproduct').load(product,{reloadPage:true});
});
在index.html中,我的问题是“无法刷新”
答案 0 :(得分:1)
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
的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末尾放置一个时间戳,以便每次都抓取一个新版本。
答案 1 :(得分:0)
完成...感谢所有+ @jasper太......我得到了其他解决方案...我最后一次使用刷新来获取URL中的参数(使用GET)..但是1天发现它们仍然无法
现在我使用其他解决方案(POST)方法
这是我的代码
在php中
<a href="#product?id=<?php echo $row_getd['id_product']; ?>" style="text-decoration:none;color:#333;" onclick="onBodyLoad1(<?php echo $row_getd['id_product'];?>);">
<。>在.js
var serviceURL = "http://localhost/m/";
//var serviceURL = "http://kimpuler.com";
function onBodyLoad1(idku){
var id = getUrlVars()["id"];
var product = serviceURL+'contentproduct.php?id='+id;
$("#contentproduct").load(product,{'id':idku}, function(){
location.reload;
});
希望可以帮助其他人像我这样的问题..
非常感谢@jasper ..你真的很棒...你的代码给了我灵感,并将来会用......
方面 JK