2012-06-25 104 views
-1

可能重复:
Ruby on Rails: Sending javascript data to ruby controllerRuby on Rails的:JSON,JavaScript和Ruby的

使用JSON,JavaScript和回报率

在我的RoR应用程序,我有一些总noobie在网页上的JavaScript。我想通过我在我的控制器中建立了一个Ruby函数的阵列之一(这是可能的吗?)

我读过某处我需要转换为JSON。使用此命令给我的东西我可以工作(totalChanges是我的数组)

JSON.stringify(totalChanges) 

但我怎么通过这一个红宝石功能?如果有什么不合理的话,请把我弄清楚。

感谢

编辑:

我使用jQuery。评论指出,我可以使用类似http://api.jquery.com/jQuery.ajax/的数据将数据发送到控制器。

我想要做的特定操作是将一些数据(在javascript数组中)保存到数据库,然后重新加载页面以显示新数据。 jquery.ajax似乎有这么多选项,我有点失落。

+0

通常你会使用AJAX将数据发送到您的MVC应用程序的控制器上的方法。 – jcolebrand

+0

有无论如何我可以使用JavaScript? – bdeonovic

+0

是的,JavaScript是AJAX的一部分。点击[维基百科](http://en.wikipedia.org/wiki/Ajax_(编程)),花五分钟阅读,然后再继续提问。异步Javascript和XML(但是我们也使用JSON,因为它在线路上“更轻”,通常以这种方式传输的数据少30-40%) – jcolebrand

回答

1

您可以将使用jQuery像这样的AJAX请求:

$.ajax({ 
    type: "POST", 
    url: "/route/to/action", 
    data: { mydata: JSON.stringify(totalChanges) }, 
    success: function(response, textStatus, jqXHR) { 
     console.log("Yay it worked.", response); 
    } 
); 

在你的行动,那么你就可以检索传递给你的行动像这样的数据:

def action 
    mydata = params["mydata"] 
    # Save it to the database... 
end 
+0

多数民众赞成我最终做了。谢谢:)我实际上发现代码的其他地方,但遇到了更多的麻烦 – bdeonovic