我將值傳遞給由JavaScript解釋並用於填充表單元素的URL查詢字符串。用戶點擊一個頁面上的鏈接,轉到另一個頁面,然後解碼URL中的值並填充表單域。window.open(),瀏覽器地址欄和jQuery url解碼
要解碼URL,我正在使用jQuery URL Decoder plugin。
這是參數傳遞給window.open()
:
http://mydomain.com/whatever?EmailAddress=me%40privacy.com&YourName=joe%20schmo&CompanyName=TEXAS%20A%20%26%20M%20-%20LUBBOCK%2C%20TX
當我插上該URL到解碼器的網絡版,它是正確解析 - 查詢字符串參數在.params對象,正確的解碼。
然而,當點擊該鏈接後,當我檢查window.location.href,我得到這個:
http://mydomain.com/[email protected]&YourName=joe%20schmo&CompanyName=TEXAS%20M%20&%20M%20-%20LUBBOCK,%20TX
其中散發出來的URL解碼器,作爲一個巨大的爛攤子(即不正確,因爲IMO解碼輸入沒有正確編碼)。
我如何(安全地)返回由URL解碼器正確解釋的字符串?
您是否嘗試過使用內建的'encodeURIComponent'和'decodeURIComponent'來代替? – 2011-04-05 15:31:25