2011-10-20 48 views
3

我是一个Rails新手,并有一个关于从ajax发布到rails控制器,并将数据返回给javascript的问题。我对这个实际工作原理很不熟悉,但是我已经将其他SOF线程的工作后期功能拼凑在一起。现在,我张贴从一个简单的按钮,点击数据和AJAX代码如下所示:Jquery,Ajax,Post Function,Rails

$.ajax({ 
    type : 'POST', 
    url  : "http://localhost:3000/fbusers", 
    data : { tester : { name : 'boom' } }, 
    success : function(data) { 
       alert(data);   
      }, 
}); 

这里是在控制器中的代码,它很简单:

def create 
    @user = User.create(params[:tester]) 
end 

这代码可以正常工作将数据发布到create函数中,该函数创建(发布?)到db的条目。但是我想在“成功”时返回警报功能中的数据。但是现在,警报只是返回object [object]。任何人都可以帮助我将发布的数据传递给警报功能吗?如果可能的话,一个解释(或基本教程的指导)也会非常有用。

在此先感谢!

回答

3

我假设你想要返回用户。在这种情况下,我建议:

def create 
    @user = User.create(params[:tester]) 
    respond_to do |format| 
    format.html 
    format.json { render :json => @user} 
    end 
end 

然后才使Ajax调用请求的JSON

+0

@ nambrot-感谢一吨的迅速回应。但是冒着听起来完全不称职的风险,我不得不问我在ajax调用中究竟是如何请求json的。我花了30分钟试图谷歌这个,这个片段的一些变化是我能猜到的最好的: $ .getJSON(“http:// localhost:3000/fbusers”,{用户}) 这没有'工作,所以我想我会放弃并问。 – Mike

+1

Ahh-这工作: alert(data.user.name); 太棒了,再次感谢! – Mike

+0

不客气 – nambrot