2012-04-22 47 views
0

我正在通過製作一個基本的移動應用程序來試驗JQuery Mobile,但我遇到了將參數傳遞給其他頁面的問題,無論是將HTML文件還是其他數據內容:頁面原始文件。Jquery Mobile:傳遞參數

我想要做的就是從下拉列表中選擇一個用戶名,按一個按鈕,然後進入下一頁,將用戶名放在標題中(例如,以用戶名登錄)。我研究過多種解決方案,例如sessionStorage,PHP會話,從表單提交發布的POST/GET,並且它們都不起作用。

最接近我想要的是通過POST提交用戶名通過表單,然後將其保存爲PHP會話變量,它顯示下一頁上的用戶名,但是當我導航到另一個頁面時再次無法顯示。

向前傳遞參數的最簡單方法是什麼?我懷疑它不能在額外的頁面上工作,因爲JQuery Mobile的加載方法不包括頭部的session_start()...

+0

對於單頁應用程序,只需將其保存在JavaScript變量中即可。對於多頁面應用程序,可以通過服務器運行它,或將其放入localStorage中。 – Barend 2012-04-22 11:06:19

+0

這應該爲你解決。 jQuery Mobile對服務器端腳本沒有影響,如PHP腳本。在將數據輸出到瀏覽器之前,PHP總是**運行,因此被稱爲*服務器端*語言。 – Jasper 2012-04-22 16:27:02

+0

這就是說,我建議使用PHP會話來爲用戶存儲數據。你將不得不通過AJAX輪詢你的服務器來從服務器加載數據,但其他方法真的是CPU密集型(即sessionStorage和localStorage,讀/寫時間很可怕)。在jQuery Mobile網站中,所有頁面都添加到同一個DOM中,因此您可以實際將變量保存到DOM(通過JS)並在不同的頁面上訪問這些變量,但頁面刷新時會將其刪除(使PHP會話存儲更持久)。 – Jasper 2012-04-22 16:28:10

回答

1

我在jquerymobile中也有php $_SESSION問題,這裏有4頁

  1. 提交表單,保存會話
  2. 啓動會話,顯示正確,請點擊鏈接
  3. 啓動會話,沒有顯示,請點擊鏈接
  4. 啓動會話,沒有顯示

但是這一切都與Internet Explorer 10

WORKS我已經做了一些試驗用我自己的程序,使用$_COOKIE代替$_SESSION。現在它可以在每個瀏覽器中使用jquerymobile正確運行