我试图通过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