【发布时间】:2016-08-25 21:53:54
【问题描述】:
我有一个关于coldfusion 中通过ajax 传递的参数的问题。所以我有三个参数要传递 date1、date2 和 meetingDate。我必须比较其中三个参数并根据日期返回字符串。这是我的逻辑:
<cfset sigDate1 = dateFormat(trim(arguments.date1),'yyyy/mm/dd')>
<cfset sigDate2 = dateFormat(trim(arguments.date2),'yyyy/mm/dd')>
<cfset meetDate = dateFormat(URLDecode(arguments.meetingDate),'yyyy/mm/dd')>
<cfelseif (sigDate1 LT meetDate) OR (sigDate2 LT meetDate)>
<cfset myResult = "blockDate">
<cfelse>
我当前的代码有一个问题,如果我只传递这两个日期之一(date1 或 date2),我的 ajax 函数总是会返回“blockDate”。我检测到了这个问题,如果我只通过 date1 而不是 date2,那么无论如何我的 elseif 仍然会被执行。所以我试图通过使用一个额外的 cfif 来解决这个问题,并检查我的 date1 和 date2 是否是已定义的,但这并没有解决问题。如果有人知道如何解决这个问题,请告诉我。
提前致谢。
【问题讨论】:
-
我没有看到 CFIF。
-
强制参数或为它们提供默认值,以满足您的业务需求为准。
-
... 此外,尽管有问题标题,但发布的代码使用所有三 (3) 个参数,就好像它们始终存在一样。你实际上是在调用函数时省略了参数,即
yourFunctionName( date1, meetingDate)或者只是传入一个空值yourFunctionName( date1, "", meetingDate)? -
无论如何,我总是在传递论点。这就是导致我的代码崩溃的原因。所以我想知道防止空字符串与日期值进行比较的最佳方法是什么?
-
在您的 cfargument 标记中指定
type="date"。
标签: ajax coldfusion