JavaScript 数组到 ColdFusion

Posted

技术标签:

【中文标题】JavaScript 数组到 ColdFusion【英文标题】:JavaScript array to ColdFusion 【发布时间】:2010-09-19 00:58:50 【问题描述】:

我有一个用 javascript 创建的数组。最终结果是 element1,element2,,,element5,element6,,,element9....等

一旦传递给 ColdFusion,它会删除空元素,我最终得到 element1,element2,element5,element6,element9

我需要维护这些空间,有什么想法吗?我的问题可能在这之前就开始了,再详细解释一下……

我有一个包含 13 个元素的表单,它们充当搜索/过滤类型功能。我想用 AJAX “发布”,本质上,我使用一个按钮来调用一个 jQuery 函数,并希望将字段传递给 ColdFusion 页面,然后将结果传回。 JavaScript 数组甚至可能不是我的最佳选择。

有什么想法吗?

【问题讨论】:

没关系,我只是要发布表单并重新加载页面,而不是最简单的ajax使用...... 【参考方案1】:

您是否将 jS 数组反序列化为列表? CF 使用其内置函数忽略空列表字段。这可以通过直接处理文本来解决。幸运的是,有人已经为您完成了这项工作。 cflib.org 上有几个函数,例如:

ListFix ListLenIncNulls

等等等等等等。

【讨论】:

【参考方案2】:

在 javascript 和 Coldfusion 之间交换数据时,看看使用 JSON。

http://www.json.org

http://www.epiphantastic.com/cfjson/

【讨论】:

【参考方案3】:

不使用 CF ListToArray 函数,而是使用 Java String 方法将字符串拆分为数组。这将维护空列表项。

<cfset jsList = "item1,item2,,item4,item5,,item6">
<cfset jsArray = jsList.split(",")>
<cfdump var="#jsArray#">

【讨论】:

【参考方案4】:

你在 JavaScript 中使用数组,很好。而不是默认分配空值,分配一些虚拟值。每当您使用此数组值时,都会使用条件忽略虚拟值。

【讨论】:

以上是关于JavaScript 数组到 ColdFusion的主要内容,如果未能解决你的问题,请参考以下文章

ColdFusion/Javascript 转义单引号

ColdFusion - 搜索结构数组的有效方法是啥?

为啥 ColdFusion 纪元时间比 javascript 纪元时间晚一小时?

Coldfusion查询到对象树

如何在 ColdFusion 中对结构数组进行排序

在 ColdFusion 9 中使用 Flash 表单时出现 JavaScript 错误