我試圖通過HTTP請求傳遞一個字符串,該請求在URL查詢字符串中有一個字符%
。如何在URL查詢字符串中傳遞%?
url = url + "?q=" + str + "&block=" + block; // str contains the '%' character
但是,在我發送該信息的ColdFusion頁上返回以下錯誤:
Element Q is undefined in URL.
我怎麼編碼在URL中%
標誌?
我試圖通過HTTP請求傳遞一個字符串,該請求在URL查詢字符串中有一個字符%
。如何在URL查詢字符串中傳遞%?
url = url + "?q=" + str + "&block=" + block; // str contains the '%' character
但是,在我發送該信息的ColdFusion頁上返回以下錯誤:
Element Q is undefined in URL.
我怎麼編碼在URL中%
標誌?
你應該URL編碼,所有的值要傳遞的查詢參數,但網址編碼爲%的是%25
更新:如果你在JavaScript構建查詢參數,你可能想要做到:
url=url+"?q="+encodeURIComponent(str)+"&block="+encodeURIComponent(block)
(與ZeissS」非常有幫助的建議,使用encodeURIComponent
代替escape
再次更新又見http://xkr.us/articles/javascript/encode-compare/)
您通過串槽的功能encodeURI(...)
會逸出所有的特殊字符不僅%
非常感謝! encodeURI()是一個很好的幫助。 – 2010-02-08 22:58:18
也考慮'encodeURIComponent',正如Brad G.的答案中指出的那樣。 'encodeURI'不編碼某些在這種情況下*應編碼的字符。一個不編碼的字符就是'&',作爲它在這裏可能不好的一個簡單例子。 – 2010-02-08 23:19:50
@pst但是,如果你想在查詢字符串中傳遞參數,爲什麼要轉義&分開參數? – Mic 2010-02-08 23:39:47
ColdFusion的URLEncodedFormat()
謝謝你的時間。 我可以在Oracle數據庫中插入數據時使用URLEncodedFormat()嗎? – 2010-02-08 23:00:28
當然,但你必須問自己,這是否真的是你想要做的。 – Henry 2010-02-08 23:11:50
我們可以在ColdFusion中使用URLEncodedFormat()以及我們可以使用下面提到的一個。
這兩人還幫助我們解決我們的問題。
您應該使用'encodeURIComponent()',因爲您正在轉義URL的單個組件。 – ZeissS 2010-02-08 22:57:20
非常感謝它的工作:) – 2010-02-08 22:57:28