2011-04-21 73 views
1

所以我有jQueryMobile應用程序我正在處理和我想要做的是當用戶點擊一個鏈接我希望它去從mysites api獲取JSONP數據然後獲得jsonp的成功在初始頁面加載時調用在當前的moble應用程序頁面中創建內容我可以調用jsonp並填充頁面,但是當我單擊一個鏈接時,我會收到錯誤信息,說「加載頁面出錯」,那麼如何將它設置爲何時用戶點擊一個鏈接它會觸發jsonp調用,這將創建jquery mobile顯示的內容?jquery mobile通過jsonp創建頁面

編輯

試圖解釋更好

我有一個INTIAL頁面設置

HTML

<div data-role="page" class='maninpage' id="page1"> 
    <div data-role="header" data-scroll="x"> 
     <div> 
      <a href="#"><img src="img/iphoneheader.gif" alt="Penn State Live"></a> 
     </div> 
     <div data-role="navbar"> 
      <ul> 
       <li> 
        <a href="colleges">Colleges</a> 
       </li> 
       <li> 
        <a href="campuswires">Campuses</a> 
       </li> 
       <li> 
        <a href="facultystaff">Faculty and Staff</a> 
       </li> 
       <li> 
        <a href="ofinterest">Of Interest</a> 
       </li> 
       <li> 
        <a href="photos">Photos</a> 
       </li> 
       <li> 
        <a href="videos">Video</a> 
       </li> 
       <li> 
        <a href="subscriptions">Newswire Subscription</a> 
       </li> 
       <li> 
        <a href="psutxt">PSUTXT</a> 
       </li> 
      </ul> 
     </div> 
    </div> 
    <div id="content" data-role="content"></div> 
    <div data-role="footer"></div><!-- /footer --> 
</div><!-- /page --> 

然後在啓動時我把這個功能給開始PARAMS

get_jsonp(data) 

function get_jsonp(data){ 
$.ajax({ 
    dataType: 'jsonp', 
    data:data, 
    jsonpCallback:'create_content', 
    async:false, 
    url:'myapi' 
}); 
} 

在我create_content回調它創建了一個HTML列表,然後我用它來填充UL

這樣

$('#content').empty().append(content); 
$("div#content ul").listview(); 

當有人點擊一個鏈接我希望它重複這個過程,所以後來從鏈接中提取新參數,將它們發送到新的可追蹤頁面,但使用ajax填充。

這就是說,我需要我的回調建立一個全新的頁面,這是很好,如果多數民衆贊成我可以做,但誰知道也許我做這一切都錯了,但我會認爲會有某種方式向jquery mobile提供內容而不返回html?

+0

你試圖刷新通過AJAX名單? – 2011-04-25 19:46:46

+0

非常多,但需要跟蹤他們來自哪裏,並有良好的清潔URL,只要我可以在我的ajax回調中創建頁面,我就會發現只需更改整個頁面ajax,因爲jsop不會回覆HTML – mcgrailm 2011-04-25 19:48:57

回答

0

這裏是documentation你正在尋找您想要使用的changePage()

例子:

$("[name=button_name]").click(function() { 
    $.mobile.changePage('anotherPage.php?parm=123','slide',false,true); 
}); 

因此,如果用戶點擊該按鈕(BUTTON_NAME),它會調用「 (slide)是過渡類型,(false)是反向過渡類型,(真)是如果你想跟蹤頁面

已更新(來自你的評論)

不知道,但你可以試試這個

$.mobile.changePage({ 
    // this posts to the page anotherPage.php, 
    // you could capture these parms and do some action 
    url: 'anotherPage.php?parm=123&another=foobar', 
    type: 'post', 
    // this posts the data from the form to the 
    // same page as above, this could do other actions 
    data: $('form#your_form').serialize() 
},'slide',false,false); 

我會認爲

  • 網址:作爲請求的頁面(顯示的內容)

  • 數據:作爲您需要的提交數據。

希望這有助於

+0

請參閱我的編輯 – mcgrailm 2011-04-25 14:31:36

+0

您是否嘗試導航到頁面或更改內容?如果瀏覽代碼看起來不錯,但如果重新加載/刷新內容,您可以在ajax調用中使用.html(),並使用.page() – 2011-04-25 15:45:54

+0

進行刷新。我真的想做兩件事情發生是我的api返回json對象不html所以我的返回函數創建所需的HTML,所以當一個人點擊一個鏈接它json調用創建內容和更新網址,以便他們可以回去或轉發 – mcgrailm 2011-04-25 16:06:26

相關問題