Javascript Rails |在js文件中处理json返回
我有一个Javascript Rails |在js文件中处理json返回,javascript,ruby-on-rails,json,Javascript,Ruby On Rails,Json,我有一个:remote=>true,它按预期工作。我的js返回有问题 def myfunc ... respond_to do |format| if !response.nil? r = response.to_hash format.js { render :json => {:IsLoggedIn => true, :response => r }}
:remote=>true
,它按预期工作。我的js返回有问题
def myfunc
...
respond_to do |format|
if !response.nil?
r = response.to_hash
format.js { render :json => {:IsLoggedIn => true, :response => r }}
format.html
else
@error = "Try again"
format.js { render :json => {:IsLoggedIn => false, :response => @error }}
format.html
end
end
end
然后在
myfunc.js.erb
中如何获取IsLoggedIn
和响应
值?根据您的情况,您仅对js使用此函数。因此,请像下面这样写:
def myfunc
...
@r = response
end
在您的myfunc.js.erb
中,写下以下内容:
<% if @r.present? %>
{:IsLoggedIn => true, :response => @r }
<% else %>
{:IsLoggedIn => true, :response => "Try Again" }
<% end %>
@r is available in js.erb , so you set it your html div like $("#yourdivid").val("<%= @r.id" %>")
{:IsLoggedIn=>true,:response=>@r}
{:IsLoggedIn=>true,:response=>“重试”}
@r在js.erb中可用,因此可以将其设置为html div,如$(“#yourdivid”).val(“