Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery json中的Rails html编码问题_Jquery_Ruby On Rails_Ruby_Json - Fatal编程技术网

Jquery json中的Rails html编码问题

Jquery json中的Rails html编码问题,jquery,ruby-on-rails,ruby,json,Jquery,Ruby On Rails,Ruby,Json,考虑以下两种情况: Ruby 1.8.7 Rails 2.3.2 {:a => '<div style="color:red;">asd</div>'}.to_json ?> {"a":"\u003div style=\"color:red;\"\u003Easd\u003/div\u003E"} {:a=>'asd'}.to_json ?>{“a”:“\u003div style=\”颜色:红色;\“\u003Easd\u003/div\u003E”}

考虑以下两种情况:

Ruby 1.8.7 Rails 2.3.2

{:a => '<div style="color:red;">asd</div>'}.to_json
?> {"a":"\u003div style=\"color:red;\"\u003Easd\u003/div\u003E"} 
{:a=>'asd'}.to_json
?>{“a”:“\u003div style=\”颜色:红色;\“\u003Easd\u003/div\u003E”}
在执行jQuery.parseJSON()时,这不会导致任何问题

Ruby 1.8.7 Rails 3.0.9

{:a => '<div style="color:red;">asd</div>'}.to_json
?> {"a":"<div style=\"color:red;\">asd</div>"} 
{:a=>'asd'}.to_json
?>{a:“asd”}
这会导致错误-JSON.parse:在执行jQuery.parseJSON()时,对象中的属性值后面应该有“,”或“}”

已尝试以下方法:

  • ::Iconv.conv('UTF-8//IGNORE','UTF-8',self+'')[0..-2]
  • .html安全
  • JSON.encode
没有人在工作。这真让我难受

提前谢谢

更新:json呈现程序

render :text => {:success => true, :replacement => '<div style="color:red;">asd</div>'}.to_json
render:text=>{:success=>true,:replacement=>'asd'}.to_json
也试过

render :json => {:success => true, :replacement => '<div style="color:red;">asd</div>'}
render:json=>{:success=>true,:replacement=>'asd'}

Hmm,需要更多的上下文。这对我有用:
$.parseJSON(“{\'a\':\'asd\'}”)
。您能否显示正在传递给
$.parseJSON
、从AJAX调用或HTML页面而不是从REPL中提取的确切文本?解析的确切文本有点大。但我的感觉告诉我没有;我同意解析没有问题,但json的呈现方式有问题,因为解析没有导致rails2.3.2中的错误,但我想知道问题是否不是json编码器本身的更改,而是后来处理json字符串的问题(例如,它是为HTML编码的,不应该是这样)。如果JSON编码器发生了变化,可能会暴露出另一个类似这样的问题。你能看看最后出现在
$.parseJSON
手中的sting吗?它是如何加载的:它是否包含在脚本中,是否从另一个文件异步加载,还是其他什么?json作为ajax请求的响应。不是内联的。在rails 3中呈现json的方式有没有改变?我觉得我错过了一些非常基本的东西