我正在对另一个页面进行cfhttp调用。我正在使用cfhttpparam传递url变量,如下所示。但是当我运行页面时,网址会如图所示呈现。我需要替换%25才能获得正确的url字符串。有人能告诉我代码有什么问题吗?
<cfset vpName = "Abc def F hig K xyz" /> I want %20 in the spaces in the name here. But it is rending as show in the image![enter image description here][1]
<cfset urlvar = URLEncodedFormat("#vpName#")>
<!--- <cfoutput>#urlvar#</cfoutput>
--->
<cfhttp url="https://abc.com/xyz/EM2/LTMR.cfm" method="get" username="abcd" password="password" >
<cfhttpparam type="url" name="LTMX" value="#urlvar#">
</cfhttp>
<cfset myDocument = cfhttp.fileContent>
<cfoutput>#myDocument#</cfoutput>
网址呈现为
abc.com/LTMR.cfm?LTMX=Andre%2520Fuetsch%2520%2520F%2520Shelly%2520K%2520Lazzaro
答案 0 :(得分:3)
%25是&#34; URLEncodedformat()&#34;是假设做 - 用适当的编码序列替换空格(等) - 正如彼得所说,<cfhttpparam>
自动完成 - 所以你应该改变它;
<cfset urlvar = URLEncodedFormat("#vpName#")>
是这个......
<cfset urlvar = vpName/>
虽然你当然可以简单地传递vpName
而不是为它创建一个完全独立的变量。