繁体   English   中英

在JavaScript中解析Rails to_json的结果

[英]Parsing the result of Rails to_json in JavaScript

我的一个html元素,我有一个数据属性,我想存储一个哈希。 我使用Hash的to_json方法来创建json对象:

<%= f.select :condition, options_for_select( [] ), {prompt: "Select"}, {class: "form-control", 'data-array' => { 'source' => ['tv', 'letter', 'radio'], 'status' => ['error', 'return']}.to_json} %>

特别是这部分:

'data-array' =>  { 'source' => ['tv', 'letter', 'radio'], 'status' => ['error', 'return']}.to_json

在浏览器中,to_json的结果如下所示:

"  {&quot;lead_source&quot;:[&quot;letter&quot;,&quot;television&quot;,&quot;radio&quot;,&quot;internet&quot;],&quot;appointment_status&quot;:[&quot;error&quot;,&quot;do_not_mail&quot;,&quot;return&quot;]}"

但编码使用的是&quot而不是文字字符串' 因此,如Chrome控制台中所示:

$(el).data('array')
"  {&quot;lead_source&quot;:[&quot;letter&quot;,&quot;television&quot;,&quot;radio&quot;,&quot;internet&quot;],&quot;appointment_status&quot;:[&quot;error&quot;,&quot;do_not_mail&quot;,&quot;return&quot;]}"
JSON.parse( $(el).data('array'));
VM8467:1 Uncaught SyntaxError: Unexpected token & in JSON at position 3(…

我需要一些我可以解析的东西。 to_json错误的方法?

看起来你的json正在逃脱。

我猜你是在视图脚本中输出它? 如果是这样,请尝试使用j帮助程序 - http://api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#method-ij

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM