Ton*_*ony 9 javascript ajax jquery ruby-on-rails-3
我有两种方法可以在Rails 3应用程序中实现ajax.
1-使用文件viewaction.js或viewaction.js.coffee中的jquery将事件绑定在提交上,并管理返回的json以修改DOM中的内容.
2-在Rails中使用remote => true标记并编写名为viewaction.js.erb的文件以在DOM中进行修改并使用在控制器中加载的类变量.
谢谢
在Rails 3之前,添加:remote => true会在表单标记内部生成一堆内联JavaScript,但是使用Rails 3 UJS,唯一的变化是添加了HTML 5自定义属性data-remote=true.例如:
<%= form_for(@post, :remote => true) do |f| %>
Run Code Online (Sandbox Code Playgroud)
会产生
<form accept-charset="UTF-8" action="/posts" class="new_post" data-remote="true" id="new_post" method="post">
Run Code Online (Sandbox Code Playgroud)
目前,这是rails3方法.生成它的js函数位于rails.js文件下.如果打开rails.js文件,您会注意到几个远程处理程序定义.第一个处理远程表单提交的情况,第二个处理远程链接和输入字段,第三个处理应该表现为喜欢的非远程链接.
从深入研究代码我发现这个文件实际执行jQuery ajax调用:
ajax: function(options) {
return $.ajax(options);
},
Run Code Online (Sandbox Code Playgroud)
因此使用和常规jQuery ajax调用之间没有区别:remote => true,rails就像一个包装器来调用相同的方法.
| 归档时间: |
|
| 查看次数: |
1364 次 |
| 最近记录: |