如何检查ColdFusion 2016中是否存在cookie?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查ColdFusion 2016中是否存在cookie?相关的知识,希望对你有一定的参考价值。

我们最近刚刚将测试服务器从CF10升级到CF16。其中一个问题是cookies。在我尝试登录我们的系统消息后,屏幕上显示Cookies Are Not Enabled!。我检查了代码,并且有cfif检查Cookie.test是否未定义。这是我的代码示例:

<cfif NOT IsDefined("Cookie.test")>
    Cookies Are Not Enabled!
    <cfabort>
</cfif>

这是我找到cookie.test的代码行:

<cfcookie name="test">

这是在页面的最底部,isDefined()位于最顶层。所以我想知道如何在ColdFusion 2016中检查这个问题?谢谢。

答案

您可以使用isBoolean(URLSessionFormat("true"))检查cookie是否已启用。

<cfif isBoolean(URLSessionFormat("true"))>
  cookies are enabled
<cfelse>
  cookies are not enabled
</cfif>

另外,我创建了一个UDF

https://cflib.org/udf/isCookiesEnabled

/**
 * Returns true if browser cookies are enabled.
 * 
 * @return Returns a boolean. 
 * @author Alex Baban  
 *  
 */
function isCookiesEnabled() {
    return IsBoolean(URLSessionFormat("True"));
}

<cfoutput>#isCookiesEnabled()#</cfoutput>


现场演示:

<cfset result = IsBoolean(URLSessionFormat("True")) />
<cfdump var = "#result#" />

https://trycf.com/gist/2746d807170a0dc74e7349935320a78e/lucee5?theme=monokai

以上是关于如何检查ColdFusion 2016中是否存在cookie?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确使用 Coldfusion File Exist() 方法?

如何从 ColdFusion 查询循环中的返回值中检查空值

Coldfusion 和非作用域变量

如何使用ColdFusion检查数据库的值?

检查multimap c ++中是否已存在值

如何在 ColdFusion 中使用 C#.NET 程序集?