我正在使用PHP,mySQL和Javascript編寫登錄系統。我的網站實際上是一個用JavaScript編寫的1頁應用程序 - 只有1個html頁面。所有的交互和導航都是通過javascript完成的。如何使用Javascript獲取URL變量
當用戶註冊時,我使用激活列中的32位數字鍵在數據庫中創建其記錄。我通過電子郵件發送給註冊人作爲激活鏈接。這將他們帶到一個激活他們的賬戶的PHP文件(或者如果有錯誤,則不會)。一切都很好。
激活(或錯誤)後,我可以把它們帶到一個html頁面(例如header('somesite.com/success.html'),告訴他們他們的賬戶是否被激活,但我寧願把它們帶回去在我的1頁JavaScript網站的特定功能。我該怎麼做?
我可以帶他們到網站,但我怎麼傳遞一個消息從我的PHP重定向到網站,所以它知道是否顯示一個成功或錯誤信息?
難道我把它放在重直如http://somesite.com?activation=success的網址是什麼?如果是這樣,我怎麼得到這個變量進入我的JavaScript?
我可以從php激活腳本中設置一個會話變量,並在我的代碼中檢查它,但看起來非常笨拙。
我可以在URL中設置一個散列,然後在代碼中選擇它,但是如果可以的話,我會避免散列導航。關於實現這個方法的任何想法?
從下方並在網站上其他地方的幫助下最終的答案:
function getURLParameter(name) {
return decodeURIComponent(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
}
然後註冊一個重定向如somesite.com?email=somebody%[email protected] &鍵= 7da93f78cb4942555863c161f50f258d
我可以像getURLParameter('email')和getURLParameter('key')那樣獲取這些變量。
感謝大家的幫忙。喜歡這個網站
試過這個,但不能得到它的工作。我包括該函數,然後把它作爲我的URL:http://localhost/newproject/index.html?activation = hello但是當我嘗試獲取它顯示爲undefined的變量 – Kage 2013-02-28 10:42:33
明白了。它會作爲一個對象返回 - 如果我這樣做,可以讀取它(警報)(getUrlVars()。activation); – Kage 2013-02-28 10:47:42
我剛剛測試過它,它對我來說工作完美,你確定你正在調用該功能嗎? – George 2013-02-28 10:48:41