我使用ajax在客户端检查验证,但我不知道如何在rails上获取ruby数组的值。这是我的ajax:
<script>
$(document).ready(function() {
$("#button").click(function() {
var email = $("#email").val();
var name = $("#username").val();
var phonenumber = $("#phonenumber").val();
var pass = $("#password").val();
var names = $("divname").toString();
console.log(names);
....
});
});
</script>
当我查看Console.log时,我只看到&#34; Object&#34;但不是数组的值:
"[object Object]"
这是我的数组,由ruby在rails上调用:
<% @usernames.each do |t| %>
<div id="divname"><%= t.username %></div>
<%end%>
这是我的控制器:
def index
@usernames = User.find(:all, :select => "username")
@user = User.create(:username => params[:username], :password => params[:password],
:email => params[:email], :phonenumber => params[:phonenumber])
if @user
render 'index'
else
render 'index'
end
所以,拜托!帮我解决这个问题:)
答案 0 :(得分:1)
$("divname")
是一个jQuery对象,因此toString()
的结果为"[object Object]"
。
ID 应该是唯一的,请改用class
。
<% @usernames.each do |t| %>
<div class="divname"><%= t.username %></div>
<%end%>
然后在js:
var names = $(".divname").map(function() {
return $(this).text();
}).get();
console.log(names);