Coldfusion 在URL中输出变量

Coldfusion 在URL中输出变量,coldfusion,Coldfusion,我想在URL中以变量的形式打印我自己的日期: 我有以下网址: <cfset urladdress = "https://abc.xyz.com/start_date=2013-04-01&end_date=2014-04-22&data_type=123"> 我已按如下方式设置日期: <cfparam name="startdate" default="#DateFormat(dateAdd('d',-1,now()), 'yyyy-mm-dd')#"&

我想在URL中以变量的形式打印我自己的日期:

我有以下网址:

<cfset urladdress = "https://abc.xyz.com/start_date=2013-04-01&end_date=2014-04-22&data_type=123"> 

我已按如下方式设置日期:

<cfparam name="startdate" default="#DateFormat(dateAdd('d',-1,now()), 'yyyy-mm-dd')#">
<cfparam name="enddate" default="#DateFormat(dateAdd('d',0,now()), 'yyyy-mm-dd')#">
<cfset urladdress = "https://abc.xyz.com/start_date="<cfoutput>#startdate#</cfoutput>"&end_date="<cfoutput>#enddate#</cfoutput>"&data_type=123">

现在,我试着将其打印如下:

<cfparam name="startdate" default="#DateFormat(dateAdd('d',-1,now()), 'yyyy-mm-dd')#">
<cfparam name="enddate" default="#DateFormat(dateAdd('d',0,now()), 'yyyy-mm-dd')#">
<cfset urladdress = "https://abc.xyz.com/start_date="<cfoutput>#startdate#</cfoutput>"&end_date="<cfoutput>#enddate#</cfoutput>"&data_type=123">

我得到以下错误:

 Invalid CFML construct found on line 19 at column 123.
ColdFusion was looking at the following text:

<

The CFML compiler was processing:

    < marks the beginning of a ColdFusion tag.Did you mean LT or LTE?
    A cfset tag beginning on line 19, column 2.
在第19行第123列发现无效的CFML构造。
ColdFusion正在查看以下文本:
<
CFML编译器正在处理:
<标志着ColdFusion标签的开始。你是指LT还是LTE?
从第19行第2列开始的cfset标记。
我需要使用URLEncoded格式函数吗


为了安全起见,应使用(仅限cf10+)或在变量周围使用

如果要在CF9中使用
encodeForURL()
,请检查: 在


为了安全起见,应使用(仅限cf10+)或在变量周围使用

如果要在CF9中使用
encodeForURL()
,请检查:

我尝试使用
urlEncodedFormat()
但在转储urladdress时得到如下结果:
2014%2D04%2D22&end\u date=2014%2D04%2D23
@user3558091没关系,无论谁收到它,都会将其解码为您所期望的内容。我认为因为我使用的是Coldfusion 9,所以使用
encodeForURL()
是一个错误:
变量encodeForURL未定义@user3558091阅读我的答案
encodeForURL()
仅适用于CF10+,除非您在CF9中使用它将获得
encodeForURL()
。它们都做着非常相似的事情,但是
encodeForURL()
比旧的
urlEncodedFormat()
更新,涵盖了更多的情况,但它通常已经足够好了。不仅在cfset中不需要cfoutput,而且不能像那样嵌套cfml标记。我尝试使用
urlEncodedFormat()
但当我转储urladdress时得到如下结果:
2014%2D04%2D22&end\u date=2014%2D04%2D23
@user3558091没关系,无论谁收到它,都会将其解码为您所期望的。我认为因为我使用的是Coldfusion 9,所以使用
encodeForURL()
是一个错误:
变量encodeForURL未定义@user3558091阅读我的答案
encodeForURL()
仅适用于CF10+,除非您在CF9中使用它将获得
encodeForURL()
。它们都做着非常相似的事情,但是
encodeForURL()
比旧的
urlEncodedFormat()
更新,涵盖了更多的情况,但它通常已经足够好了。不仅在cfset中不需要cfoutput,而且不能像那样嵌套cfml标记。