2012-06-19 45 views
0

我正在嘗試開發具有phonegap的移動應用程序,但我遇到了問題。如何刷新jquery mobilegapgap

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頁(index.html的),並使用#.load的JavaScript加載PHP – kimpuler

+0

IM reloadPage'不知道是否'是'load()方法有效屬性'。除此之外,你期望上面的腳本重新加載頁面兩次? – dhaval

+0

@dhaval代碼一次「重新加載」兩個單獨的頁面。 – Jasper

回答

1

reloadPage選項是無效的​​功能,它是爲$.mobile.changePage()功能:

$.mobile.changePage('some-url.html', { 
    reloadPage : true 
}); 

文檔:http://jquerymobile.com/demos/1.1.0/docs/api/methods.html

請注意,只適用於外部頁面。因此,如果您的應用在一個HTML文件中包含所有僞網頁,則無法使用此功能。但是,如果您只是將僞頁從單個HTML文檔中提取出來,並創建其中一個,那麼您可以使用它。

否則,你可以使用​​重新加載頁面,但請確保HTML從服務器返回創建一個有效的jQuery Mobile的頁面結構:

<div data-role="page"> 
    <div data-role="content"> 
     ... 
    </div> 
</div> 

這裏是​​的文檔:http://api.jquery.com/load/

請注意,您正在使用​​的方式傳遞數據對象,因此您要加載的URL會收到一個名爲reloadPage的GET變量,設置爲true。因此,要使您的網頁適用於​​,只需刪除{ 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,以便每次抓取新版本。

+0

hi..jasper ..感謝您的回答..您的其他方式(您的代碼)爲我工作..但仍然無法獲得「ID」。其實我的問題,我需要從url($ _GET ['id'])獲取參數,並在contentproduct.php中使用。謝謝 – kimpuler

+0

筆記:我的代碼工作也..但需要在我的瀏覽器手動點擊「刷新」...我需要自動刷新時,加載我的網頁... – kimpuler

0

完成...感謝所有+ @jasper too..i得到了其他解決方案...我上次使用刷新獲取URL中的參數(使用GET)..但1天發現它們仍然不能

現在IM使用其他溶液(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 also..you真正偉大的人......你的代碼給我靈感,並會在未來的使用...

方面 JK