【问题标题】:How to recognize if Flex passes NaN to ColdFusion如何识别 Flex 是否将 NaN 传递给 ColdFusion
【发布时间】:2013-01-14 10:39:30
【问题描述】:

Flex 应用程序通过 RemoteObject 执行远程 ColdFusion 方法。远程方法参数是 VO。 VO 的数字字段之一是 NaN。 CF端如何识别NaN?

我尝试了以下方法:

这会返回“真”:

isDefined("vo.numeric_field_NaN")
isNumeric(vo.numeric_field_NaN)

这会返回“假”:

isNull(vo.numeric_field_NaN)

所以,我使用了以下表达式,它在 vo.numeric_field_NaN 为 NaN 时返回“true”:

((vo.numeric_field_NaN GT 0) AND (vo.numeric_field_NaN LT 0))

如果有办法更明确地确定 NaN,请提出建议。

PS:

我尝试将此值写入文件,但写入的是“?”而且我没有成功找到正确显示符号的编码。我已经尝试嗅探器显示对“%FD”的请求。

【问题讨论】:

  • 当flash变量为数字时vo.numeric_field_Nan返回什么,当flash变量不是数字时返回什么?
  • if (vo.numeric_field_NaN EQ "NaN") ?
  • 如果你转储 vo.numeric_field_NaN 会发生什么?它是否显示 NaN 或其他值?我很确定我以前在这种情况下使用过 isNumeric 函数。您使用的是哪个版本的 ColdFusion? (根据一些谷歌搜索,您看到的问题在 CF7 中;但在 CF8 之后已修复)
  • 邓肯,这行不通。请看 isNumeric(vo.numeric_field_NaN) 返回“true”
  • @www.Flextras.com,我无法转储它,因为该方法应该远程启动以通过 AMF 传递 NaN。我正在使用 ColdFusion9。谢谢

标签: apache-flex coldfusion nan remoteobject


【解决方案1】:

在将变量传递给 setter 时,用 val() 包装变量。任何字符串值都将被转换为零。

【讨论】:

  • 听起来海报正在处理通过 AMF 网关将 ActionScript 对象自动转换为 CFC。你认为用户什么时候应该使用 val 函数?
猜你喜欢
  • 2010-11-14
  • 2017-03-13
  • 2013-05-07
  • 1970-01-01
  • 1970-01-01
  • 2012-11-12
  • 2011-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多