Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails |在js文件中处理json返回_Javascript_Ruby On Rails_Json - Fatal编程技术网

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(“