2013-07-28 59 views
0

我有兩個頁面,當一個使用單擊第一個按鈕時,我使用下面的方法創建ajax請求並重定向到第二個頁面。從一個頁面顯示json數據到一個新的重定向頁面

window.location.href="newpage.php"; 

現在我的意圖是在第二頁中使用ajax請求的結果。但似乎在加載第二頁時,來自ajax請求的所有json數據都將丟失。無論如何要完成這個?

+2

如果您正在導航,爲什麼要使用AJAX? –

+0

也'window.location.href =「」;'會帶你回到同一頁 – Musa

+0

@JamieTaylor好點,但我必須在下一頁使用ajax coz我必須構建一個組件,我使用JavaScript從ajax數據。 – altsyset

回答

2

使用Cookie或HTML5本地存儲提取JSON數據後保存。這些數據隨時可以從用戶的瀏覽器中獲得。一個cookie可以保存大約4KB(儘管我不確定這是否依賴於瀏覽器),所以如果你保存了非常少量的JSON就足夠了。否則,你應該使用本地存儲。如果我沒有記錯,則至少保證2.5 MB的數據(在Chrome中)。其他瀏覽器可能會給你更多(read more)。

查看jQuery localStorage plugin以方便使用本地存儲API。

1

i URL的長度有限。根據你的json數據,使用「window.location.href」這可能會導致錯誤。

@see What is the maximum length of a URL in different browsers?

你應該嘗試建立一個<形式方法= 'POST' ID = 「yourFormId」 >對象,並使用您需要的數據填充表單字段:

< INPUT TYPE =」隱藏的」 ID = 「jsondata」 NAME = 「jsondata」 值= 「myJsonString」 >

然後你可以使用JavaScript與觸發重定向 「的document.getElementById( 'yourFormId')。提交()」

3

像傑米泰勒傷心,不要使用AJAX,如果你正在切換頁面。

無論您使用AJAX請求的文件中的代碼如何,請將該代碼移動到newpage.php的開頭。

+0

我看到你的觀點,我會嘗試重構我的代碼,但現在我走了嘗試Codemonkey建議的本地存儲 – altsyset

相關問題