Javascript 如何访问rails中呈现的json对象

Javascript 如何访问rails中呈现的json对象,javascript,ruby-on-rails,ruby-on-rails-3,json,Javascript,Ruby On Rails,Ruby On Rails 3,Json,我想以json格式访问java脚本中的以下数组@names。 因此,在我的控制器中,我有以下代码: def new @release = Release.new @names=User.select(:name).where("name LIKE 'sr%'") respond_to do |format| format.html # new.html.erb format.xml { render :xml => @release }

我想以json格式访问java脚本中的以下数组@names。 因此,在我的控制器中,我有以下代码:

def new 
    @release = Release.new
     @names=User.select(:name).where("name LIKE 'sr%'")
    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @release }
      format.json { render :json =>{ :data1 => @names} } 
    end
  end
请让我知道如何访问视图文件中的data1,以及如何将值传递给javascript函数

谢谢,
Ramya.

如果使用jQuery,可以执行以下操作:

$.getJSON('users/new.json', function(data) {
  console.log(data); //you'll find your json here
});

你可以:

$(document).ready(function() { 
  $(function(){ 
    $.getJSON('releases/new.json', function(data1) { 
      alert("inside getJson"); alert(data1); console.log(data1); 
    }); 
});
但你应该:

$(document).ready(function() { 
  $.getJSON('releases/new.json', function(data1) { 
    alert("inside getJson"); alert(data1); console.log(data1); 
  }); 
});
或:


如果使用jQuery,可以执行以下操作:

$.getJSON('users/new.json', function(data) {
  console.log(data); //you'll find your json here
});

你可以:

$(document).ready(function() { 
  $(function(){ 
    $.getJSON('releases/new.json', function(data1) { 
      alert("inside getJson"); alert(data1); console.log(data1); 
    }); 
});
但你应该:

$(document).ready(function() { 
  $.getJSON('releases/new.json', function(data1) { 
    alert("inside getJson"); alert(data1); console.log(data1); 
  }); 
});
或:


而不是
http://domain/releases/1
您可以键入
http://domain/releases/1.json
您将得到解析为json的数据

而不是
http://domain/releases/1
您可以键入
http://domain/releases/1.json
您将得到解析为json的数据

嗨,非常感谢你回答我。我已经把代码放进去了。控件没有转到“getJSON函数”$(document).ready(函数(){$(函数(){$.getJSON('releases/new.json',函数(data1){alert(“inside getJSON”);alert(data1);console.log(data1);});});您好,很抱歉我没有注意到ruby文件中的错误。我收到一个错误:Started GET“/releases/releases/new.json”对于172.30.11.164年1月2日星期一17:08:13+0530 2012 ActionController::RoutingError(没有路由匹配“/releases/releases/new.json”):那么我必须在路由文件mmmm中添加什么,请尝试将:
$.getJSON('releases/new.json'
替换为
$.getJSON'(“/releases/new.json”
只需添加一个
/
。非常感谢。这很有效。但在尝试打印数据1的内部,我得到了[object]并且没有任何值在警报框中显示预期行为,您应该检查您的js调试控制台。您好,非常感谢您的回答。我已将代码放入其中。控件不会转到“getJSON函数”$(文档)。ready(函数(){$(函数(){$.getJSON('releases/new.json',函数(data1){alert(“inside getJSON”);alert(data1);console.log(data1);});});您好,很抱歉我没有注意到ruby文件中的错误。我收到了一个错误:在周一1月2日17:08:13+0530 2012 ActionController::RoutingError(没有路由匹配“/releases/new.json”时开始获取172.30.11.164的“/releases/new.json”):那么我必须在路由文件中添加什么呢mmmm,尝试将:
$.getJSON('releases/new.json'
替换为
$.getJSON('/releases/new.json'
只需添加一个
/
。非常感谢。这很有效。但在尝试打印数据1时,我得到了[object]并且,在警报框中没有任何预期行为的值,您应该检查js调试控制台。