【发布时间】:2018-04-08 00:27:40
【问题描述】:
我有一个表单,用户必须从列表中选择值。列表由管理员创建。在其中一个列表中,用户可以选择NO 值,该值代表一些保留代码。类似于Not Occupied。所以我使用 JQuery 和 AJAX 与服务器进行通信。在后端,我在生产服务器上使用 ColdFusion 9。因此,为了带回NO,我必须将其转换为带有空格的'NO '。如果我不这样做,这个函数将在客户端返回 false 值。这是我的代码转换示例:
<cfset convertYesNo = {
YES : "YES ",
NO : "NO "
}>
<cfset qryRecs['value'] = URLEncodedFormat(structKeyExists(convertYesNo, myInfo[CurrentRow]) ? convertYesNo[myInfo[CurrentRow]] : myInfo[CurrentRow])>
上面的代码在我的开发网站上运行良好。唯一的区别是,在开发中我们有 ColdFusion 10,而在实时我们有 ColdFusion 9。所以一旦我将代码移动到实时,我就开始收到错误消息:
ColdFusion was looking at the following text:<p>{</p><p>The CFML compiler was processing:<ul><li>A cfset tag beginning on line 1071, column 18.<li>A cfset tag beginning on line 1071, column 18.
<pre>1069 : }>
1070 :
<b>1071 : <cfset convertYesNo = {</b>
1072 : "Yes" : "Yes ",
1073 : "No" : "No "
</pre>
我试图在 YES 和 NO 周围加上引号,但这没有帮助。如果有人知道如何解决这个问题,请告诉我。提前致谢!
【问题讨论】:
-
你可以使用 JavaCast("string", "No") 还是会自动重新转换回不受欢迎的东西?转换为 JSON 时,我使用 JSONUtil 库并使用 JavaCast("boolean", 1) 在 JSON 中创建非引号括起来的 TRUE/FALSE 值。
标签: coldfusion coldfusion-9 cfml railo lucee