2012-06-19 13 views
4

這真是令人沮喪..!什麼是最好的方式與jQuery Mobile的動態頁面工作

當與預定義頁面的jQuery Mobile一起工作時,這一切都非常流暢和簡單,但更復雜的項目呢?

我正在調查系統,根據以前的答案呈現下一頁。 因此,每個頁面都必須將當前問題提交給外部API並獲取下一個問題。

我的第一選擇是去大的JS,但它的主要問題是,數據必須通過AJAX,然後注入新的HTML結構已被「刷新」來渲染以及發送。 除此之外,所有的AJAX請求都必須有它們的回調,它會創建一個亂碼。 因此,在我的情況下,一個包含15個不同類型的表單的20-30個問題的調查大量使用了回調函數和嵌套的回調函數。

然後我重寫了一個PHP作爲基礎的項目。表單(包含調查問題)提交給具有一個「data-role = page」實例的同一頁面。通過CURL請求,我發送答案並獲得了下一個問題,生成了HTML結構,並且它們都呈現出輝煌,而不需要觸發刷新。

但是使用這個方法有其自身的問題:

  • 提交到同一頁面剝奪你從頁過渡 並留下您的默認淡出過渡。
  • jQuery Mobile的有這種怪異的緩存(即使我每天 方法來禁用它)
  • 從頁面傳遞的數據頁是有難度的 - 得到的是長度
    有限,POST不適合我需要因爲實際的捲曲請求 必須提交「參數1 = VAL1 & ..」)

那麼,什麼方法是最好的一個複雜和動態的項目工作時使用jQuery Mobile嗎?

感謝,

回答

0

那麼恕我直言(從PHP和JQM即將自己)我已使用JSON的PHP servered,然後用JQM解析的方法。

我的方法是創建登陸頁面(具有動態內容的頁面)框架​​,以保存導航,徽標,頁眉,頁腳等所需功能......並讓jQM使用JSON更新頁面內容從PHP響應發送。

您還可以與存儲的localStorage配對這一點。JS

現在我也似乎(但尚未使用)使用一個模板引擎,如把手的一些信息,這裏有一些鏈接,我發現這可能是有趣的閱讀:

+0

謝謝,我試過這種方法。但對於更多簡單的項目來說這很好。那個沒有列表視圖的項目呢?在我的情況下,我有大約15種不同類型的表單 - 多選複選框,滑塊,多滑塊等等。因此,在服務器上生成表單並使用標準提交提交它們是有意義的。使用JS生成內容並處理它是可能的,但它很快會變成一團糟。即使在Javascript中收集面向對象的功能。它似乎適用於你,所以......我做錯了什麼? – user1134422

+0

另一個問題是提交本身。 在HTML提交中,您將所有數據提供給您的全局GET或POST,在JavaScript中,您將必須爲捕獲選定選項的每個唯一表單創建一個事件並相應地處理它。這是一個很大的開銷。這就是爲什麼我的第一個目的是要有一個正常的形式,將數據提交給自己,收集數據,發送請求,在調查中獲得下一個問題,並開始處理當前的問題。 – user1134422

+0

這就是爲什麼我還建議使用handlebars.js模板,並使用可以從JSON響應構建表單的句柄。我已經看到了一些例子,但這是一個很好的開始:http://handlebarsjs.com/例如,你會發送回JSON將所有的新數據,並檢查元素/數據是否存在,如果是生成HTML使用車把 –

相關問題