【发布时间】:2010-12-28 02:47:42
【问题描述】:
说我有一个像这样的哈希 {"onDoubleClick"=>"function(e){alert(e.message);}"} 当我在客户端获取 json 时,如何获取函数而不是字符串。
像这样:
{"onDoubleClick":function(e){alert(e.message);}}
我尝试将 # 放在开头但不起作用。{"onDoubleClick"=>"#function(e){alert(e.message);}"}
有人遇到过这个问题吗? 谢谢
【问题讨论】:
-
{"onDoubleClick":function(e){alert(e.message);}}不是有效的 JSON,因此序列化为 JSON 是错误的做法。看起来你想序列化为 JavaScript。 -
JSON 是一种数据传输格式,如果你想要 JavaScript,就使用 JavaScript。如果删除引号,则不会生成 JSON。您几乎可以肯定应该进行认真的重构,以便将函数存储在静态 JavaScript 文件中并在加载时包含在页面中 - 然后将纯数据传递给客户端,并使用该数据来决定调用哪个函数。跨度>
-
感谢大卫,这很合理。
标签: javascript ruby-on-rails json function