Ruby on rails 如何将json响应传递回客户端
在我的RubyonRails代码中,我希望将json响应发送回客户端。由于我是RubyonRails新手,我不知道如何才能做到这一点。如果数据未保存到数据库,并且如果成功保存,我想将Ruby on rails 如何将json响应传递回客户端,ruby-on-rails,ruby,ruby-on-rails-3,jquery,Ruby On Rails,Ruby,Ruby On Rails 3,Jquery,在我的RubyonRails代码中,我希望将json响应发送回客户端。由于我是RubyonRails新手,我不知道如何才能做到这一点。如果数据未保存到数据库,并且如果成功保存,我想将error=1和success=0作为json数据发送,并且应该发送success=1和error=0,请参见下面的代码 这是我的控制器 class ContactsController < ApplicationController respond_to :json, :html def contac
error=1和success=0作为json数据发送,并且应该发送success=1和error=0
,请参见下面的代码
这是我的控制器
class ContactsController < ApplicationController
respond_to :json, :html
def contacts
error = 0
success = 1
@contacts = Contact.new(params[:contact])
if @contacts.save
respond_to do |format|
format.json { render :json => @result.to_json }
end
else
render "new"
end
end
end
还有很多其他优雅的方式,但这是对的:
class ContactsController < ApplicationController
def contacts
@contacts = Contact.new(params[:contact])
if @contacts.save
render :json => { :error => 0, :success => 1 }
else
render :json => { :error => 1, :success => 0 }
end
end
end
class contacts控制器{:error=>0,:success=>1}
其他的
render:json=>{:error=>1,:success=>0}
结束
结束
结束
还将路由添加到routes.rb。如果您需要使用html响应,您必须包括响应|格式|。还有很多其他优雅的方式,但这是正确的:
class ContactsController < ApplicationController
def contacts
@contacts = Contact.new(params[:contact])
if @contacts.save
render :json => { :error => 0, :success => 1 }
else
render :json => { :error => 1, :success => 0 }
end
end
end
class contacts控制器{:error=>0,:success=>1}
其他的
render:json=>{:error=>1,:success=>0}
结束
结束
结束
还将路由添加到routes.rb。如果您需要使用html响应,则必须包含respond|u to do | format |。您必须调整路由以接受json数据
match 'yoururl' => "contacts#contacts", :format => :json
然后它会工作您必须调整路由以接受json数据
match 'yoururl' => "contacts#contacts", :format => :json
然后它将工作查看“respond|to do | format |”,因为这是您通常对不同请求格式、html、xml、json等进行响应的方式。@railsdog我将此代码添加到我的代码if@contacts.save respond|to do | format | format.json{render:json=>@result.to|json}end else render“new”结束
,但这不起作用。它甚至没有向我显示任何错误。我认为您将很难获得AJAX请求,以点击contacts
控制器中的contacts
操作。我认为值得一看关于路由的Rails指南-请参阅上面的更新代码。目前,该代码已成功地将数据插入数据库。现在,我想将请求作为json发送回客户端。查看“respond_to do | format |”,因为这是您通常对不同请求格式、html、xml、json等的响应方式。@railsdog我将此代码添加到我的代码if@contacts.save respond_to do | format | format.json{render:json=>@result.to|json}end else渲染“新建”结束
,但这不起作用。它甚至没有向我显示任何错误。我认为您将很难获得AJAX请求,以点击contacts
控制器中的contacts
操作。我认为值得一看关于路由的Rails指南-请参阅上面的更新代码。目前,该代码已成功地将数据插入数据库。现在我想将请求作为json发送回客户端。