【问题标题】:Rails remote true form's controller not respoding with jsonRails远程真实表单控制器没有响应json
【发布时间】: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


    【解决方案1】:

    尝试parseJSON(json['responseText']) 获取服务器响应的 JSON 对象。我认为您应该在表单提交事件上手动绑定 Ajax 调用,以便在 success 处理程序的 $.ajax() 函数中获取 JSON 对象而不进行转换

    【讨论】:

      猜你喜欢
      • 2014-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-24
      • 1970-01-01
      相关资源
      最近更新 更多