Jquery 如何处理部分模板呈现并在JSON数据中传递相关HTML数据?

Jquery 如何处理部分模板呈现并在JSON数据中传递相关HTML数据?,jquery,ruby-on-rails,ruby,json,rendering,Jquery,Ruby On Rails,Ruby,Json,Rendering,我正在使用RubyonRails3.0.9和jQuery1.6.2,我正在尝试实现一个AJAX HTTP请求,该请求使用呈现的部分模板数据处理JSON数据 我想做的是呈现一个部分模板(在控制器操作中执行呈现过程,并使用render\u to\u stringRoR方法),并将呈现的HTML放入该JSON数据中。但是,我在使用jQuery解析JSON数据时遇到了一些问题,我认为这是因为在部分模板中有“和”字符破坏了JSON格式。事实上,如果我呈现的是“简单文本”而不是部分文本,那么所有的工作都可以

我正在使用RubyonRails3.0.9和jQuery1.6.2,我正在尝试实现一个AJAX HTTP请求,该请求使用呈现的部分模板数据处理JSON数据

我想做的是呈现一个部分模板(在控制器操作中执行呈现过程,并使用
render\u to\u string
RoR方法),并将呈现的HTML放入该JSON数据中。但是,我在使用jQuery解析JSON数据时遇到了一些问题,我认为这是因为在部分模板中有
字符破坏了JSON格式。事实上,如果我呈现的是“简单文本”而不是部分文本,那么所有的工作都可以完成

我如何解决这个问题?你有什么建议?


注:我认为类似的问题也在…

中讨论过,这并不完全是您想要的,但您可以使用js.erb动态更新视图

告诉控制器响应js格式:

respond_to do |format|
  format.js
end
在控制器的视图文件夹中创建action_name.js.erb,如下所示:

# categories/show.js.erb
$("#content").html("<%= escape_javascript(render 'categories/_category') %>");
#categories/show.js.erb
$(“#content”).html(“”);
它不返回JSON,而是返回部分的完整呈现HTML。如果需要呈现视图文件(名称中没有前导下划线),则需要传递
:file
选项并指定文件的扩展名