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的主要内容,如果未能解决你的问题,请参考以下文章