我在做get請求參數鏈接的時候 參數值為了安全加密 但是加密后出現有"+"字符串 結果在獲取的時候讀取不到
查了下JS encode 的相關內容, 總於發現+ 號的秘密。
html 中因為一些非標准的做法,將+ 等同於空格進行處理 (當Html 的表單被提交時, 每個表單域都會被Url 編碼之后才在被發送。由於歷史的原因,表單使用的Url 編碼實現並不符合最新的標准。例如對於空格使用 的編碼並不是%20 ,而是+ 號,如果表單使用的是Post 方法提交的,我們可以在HTTP 頭中看到有一個Content-Type 的header ,值為 application/x-www-form-urlencoded ,大部分應用程序均能處理這種非標准實現的Url 編碼)。
解決辦法 在鏈接參數值有"+"的進行url encode編碼 然后 再解碼獲取
注意:在php中 本人測試在tp框架內 用$_GET 和$this->request->param() 獲取的 進行過 url encode 加密過的get請求參數 已經被自動url decode一遍了 而在post中 需要 手動url decode