Mura中的CF应用范围是否可变?

时间:2017-05-16 20:22:22

标签: coldfusion coldfusion-11 mura

首先,感谢花时间阅读并可能回答这个问题。另外,我是CF的亲戚。

我有一个.cfm文件,当用户填写一个Web表单时(即表单操作使用POST方法指向它)时会调用该文件。然后.cfm将另一个表单POST到数据跟踪端点,然后继续进行下一个面向用户的视图。

我遇到的问题,到目前为止,我在整个Mura项目中遇到的问题是,应用程序范围无法按照我预期的方式运行。例如,我像这样设置应用程序变量:

<cfif isDefined(form.campaign) AND len(form.campaign) >
        <cfset application.campaign = form.campaign />
    <cfelse>
        <cfset application.campaign = 'default' />
</cfif>
<cfif isDefined(form.channel) AND len(form.channel)>
        <cfset application.channel = form.channel />
    <cfelse>
        <cfset application.channel = form.channel/>
</cfif>

如果在这种情况下cfdump'd根据我传递的内容得出预期值。但是,一旦我转到下一个视图(使用cflocation)和cfdump应用程序范围,这两个键就不可用了。

我的印象是应用程序范围应该在会话中持续存在,或多或少?

1 个答案:

答案 0 :(得分:1)

TLDR:确保应用程序中只有一个Application.cfX实例。

团队成员在Application.cfc目录的更高级别创建了一个名为application.cfm的文件,该文件优先于正确的文件,并打破了大量的东西。

添加它是为了尝试向用于业务逻辑/表单处理的.cfm文件发出HTTP请求。这允许这样做,但却产生了许多其他问题。

从目录中删除该文件,将表单处理逻辑移动到/ remote(Mura支持HTTP请求)并重构一些代码;应用程序和会话范围在整个应用程序中再次可用,Mura($)范围也是如此。

相关问题