2012-03-24 34 views
2

我的網站上,用戶可以選擇他們想要的顏色,使他們的選擇後,他們進入下一個頁面。目前,每次點擊某種顏色時,我都會將其添加到JavaScript數組中。當他們準備進入下一頁時,我想傳遞這個顏色數組,以便我可以在下一頁顯示他們選擇的顏色。所以我的問題是如何使用jQuery或PHP來完成這個任務?jQuery的重定向傳球達陣

謝謝。

+0

我沒有看到任何關於這個問題的本質的jQuery上下的......但我想,如果你想有一個JavaScript的解決方案,你已經使用jQuery,你可能想jQuery的專家通過jQuery的標籤找到它。 – 2012-03-24 20:37:20

回答

2

您可以通過在陣列中這樣說:

$.post('URL_Of_Next_Page', {'MyArray': actualArray}); 

要做到重定向,那麼你可以這樣做:

window.location.replace("URL_Of_Next_Page"); 

我不知道,但如果你的帖子之前重定向,那麼它可能有數組,但我懷疑它。您可以將數組存儲在會話變量中,也可以按safarov建議的方式進行操作,並通過查詢參數傳遞它。

對於會話方式

$_SESSION['MyArray'] = json_encode(actualArray); 

然後把它找回來:

actualArray = json_decode($_SESSION['MyArray']); 

爲了得到它JSONified作爲一個字符串使用方法:

var actualArrayAsString = JSON.stringify(actualArray); 
+0

是的,我曾嘗試過,但它似乎並沒有重定向。我的理解是,它只是發出POST請求而不是重定向。 – jrubins 2012-03-24 20:20:08

+0

@jrubins如果您正在重定向,所有數據都將丟失!如果你想在頁面之間保留的數據,你就必須拿出某種形式的流動,就像一個POST請求到第二頁爲賈斯汀建議。只是簡單的重定向將不能滿足您的需求。 – Oldskool 2012-03-24 20:26:52

+0

@jrubins我已更新我的答案..並將很快發佈示例代碼 – 2012-03-24 20:30:35

2

你絕對可以在查詢字符串中傳遞參數。看起來賈斯汀有個好主意。對於我個人使用網絡應用程序的方法,有三種方法我會考慮這樣做:

  1. PHP中的會話變量。快速搜索應該爲您提供存儲會話變量所需的功能。超級簡單。如果你需要它們放回JavaScript的下一個頁面上,你可以只PHP的echo出來到JS變量或更好,但在服務器上使用邏輯的類或樣式標籤填充到您的標記。

  2. 餅乾。 Cookies已經工作了很多年,並將在未來幾年繼續工作。 ;-)

  3. 的localStorage。僅當最終用戶肯定使用現代瀏覽器時纔有用,因爲localStorage是HTML5 API。巧合的是,昨天晚上我寫了一個小職位約localStorage的:http://gregpettit.ca/2012/fun-with-html5-localstorage-api/(文章有另一個有用的堆棧溢出帖子的鏈接以及外部教程)

如果你做一些客戶端,你可以實現#3回退到#2。如果你使用的是#1,我不會爲後備而煩惱,因爲它是服務器端的。