【发布时间】:2012-12-03 19:15:45
【问题描述】:
在 Rails 中,我有一个带有 remote true 的表单,如下所示:
<%= form_for(@thing, :html => { :'data-type' => 'json' }, :remote => true ) do |f| %>
我正在使用 javascript 中的 ajax 事件:
$('#new_thing').bind('ajax:complete', function(json, status, xhr){
console.log("complete!");
console.log(json);
console.log(xhr);
console.log(status);
});
在控制器中,我有这样一行代码来响应它:
respond_to do |format|
format.json { render :json => @thing }
end
问题是控制台记录的来自服务器的返回响应不是 json 对象,它是状态对象,而 json 响应是属性“responseText”下的文本字符串,已被转义。
如何让服务器仅使用 @thing 的 json 对象进行响应?
这其中的任何阶段有什么问题吗?
谢谢!
【问题讨论】:
标签: ruby-on-rails ajax json forms model-view-controller