2013-04-27 23 views
0

使用jquery mobile調用頁面時遇到麻煩。在這個例子中,我假設索引頁面(index.html)將調用將包含來自我的服務器的數據的數據頁面(data.html)。 在我的情況下,當我做調用頁面從index.html的使用語法:jquery移動加載頁面並獲取數據

$.mobile.changePage("data.html"); 

和頁面上data.html我做了這個sintax:

$(document).on('pageinit', '#myDataPage', function(){  
    GetData(); 
}); 

function GetData(){ 
    //Ajax Function here 
} 

後,我打電話data.html顯然沒有數據顯示。但如果我這樣做,手動刷新從我的服務器獲取的頁面數據成功顯示。我的代碼有問題嗎?

回答

1

默認情況下,jQuery Mobile使用Ajax來執行頁面轉換。這意味着在過渡過程中,jQuery Mobile只會注入響應body元素的內容(或者更具體地說,如果提供了data-role =「page」元素),這意味着頁面頭部沒有任何內容會被使用頁面標題的例外情況,這是專門提取的)。

因此,當頁面通過Ajax加載時,頁面頂部引用的任何腳本和樣式都不會產生任何影響,但是如果通過HTTP正常請求頁面,它們將執行。

如果您將scripthead標記移至第二頁的div(<div data-role="page" id="myDataPage">)中,它將執行。另一種方法是創建一個JS文件並在第一頁的負載中加載JavaScript(相關示例here)。

我希望這會有所幫助。