繁体   English   中英

在Rails中定制AJAX的最佳做法

[英]Best practices for custom AJAX in Rails

对于标准表单,我知道您可以使用remote: true来通过AJAX提交表单。 但是,如果您没有标准表格,该怎么办? 例如,我有美国的SVG地图。 当用户单击状态(即<path>元素)时,它将触发AJAX请求,以便我的应用程序可以将对该状态的投票存储在数据库中。 通过将click事件绑定到path元素,然后使用标准jQuery $.ajax()方法,我可以很好地工作。 但是,我不确定是否存在通过非形式交互来触发AJAX请求的其他更“标准”方式。

我也不确定Rails控制器如何响应此请求的最佳实践。 现在,我只是简单地用以下命令响应:

if vote.save
    render json: {success: true}
else
    render json: {success: false, data: vote.errors}
end

然后,我在$.ajax成功回调中检查success的值,并在那里处理false的情况。

我是Rails的新手,只是自己完成所有这些工作。 这是hacky吗? 在不涉及表单的情况下,是否存在不同的标准化方法来发送和响应AJAX请求?

您为ajax json请求所做的事情是合理的,并且您会在许多Rails代码中找到该结构,该结构必须专门与需要json的JavaScript客户端进行通信

但是,您还应该注意,我们通常更喜欢js(而不是json)(因为选择),这样我们就可以利用您在问题中提到的jquery-ujs(远程:true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM