gpt4 book ai didi

coldfusion - 找不到 CFSCRIPT 例程

转载 作者:行者123 更新时间:2023-12-01 05:14:58 24 4
gpt4 key购买 nike

我写了一个简短的 CFscript 来编码/解码链接:

    function link_encode(str) {
x = Replace(str, "&", "and", "ALL");
y = Replace(x, " ", "_", "ALL");
z = Replace(y, "/", "|", "ALL");
return z;
}

function link_decode(str) {
x = Replace(str, "and", "&", "ALL");
y = Replace(x, "_", " ", "ALL");
z = Replace(y, "|", "/", "ALL");
return z;
}

这是在包含在站点标题中的文件中(包含在每个页面中)
<cfinclude template="/includes/cfScriptFunctions.cfm">

这在“正常”页面中工作正常:
<cfset link = link_encode(sub_menu.name)>

但是,出于 SEO 的目的,我通过 web.config 重写了 URL:
<rule name="categories_1" stopProcessing="true">
<match url="category1/(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/category1.cfm?id={R:1}" />
</rule>

当我登陆此页面时,Coldfusion 返回错误:“变量 LINK_DECODE 未定义”。但是,如果我尝试在页面中包含 cfscript 文件,Coldfusion 会返回错误:“不能多次声明例程。例程 link_decode 已在不同的模板中声明两次。”。这告诉我该例程可用,为什么没有找到它?

更新
哎呀......我的错......我在它被包含在页面中之前调用了该函数......呃。

最佳答案

问题...在您的 cfml 页面上...您什么时候调用 link_decode?你什么时候包含头文件?我见过人们在他们的标题上方调用链接解码,以构建查询等,将数据放入标题,但标题有 cfscript。检查您的流程,以防万一您在包含之前调用它。

关于coldfusion - 找不到 CFSCRIPT 例程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21443953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com