解决方法
根据您的具体情况,有很多方法可以回答(例如:您正在使用jquery和UJS适配器),但是我将使用自己的文档发布文章,以更好地了解整个过程:
我在很大程度上使用这个伟大的 post:我会更新我的答案,因为我目前正在通过这个东西自己做.
我在很大程度上使用这个伟大的 post:我会更新我的答案,因为我目前正在通过这个东西自己做.
您可以将数据类型属性添加到DOM元素中,如下所示:
<%= link_to "Add a new task",new_project_task_path(@project),"data-type" => "json",:id => "add_task_btn" %>
您还可以在jQuery的全局$.ajaxSetup()函数中定义默认的dataType.更改所有Ajax请求:
$.ajaxSetup({ dataType: 'json' });
而第三种方式是在beforeSend回调中:
$(“#add_some_button”).live(“ajax:beforeSend”,function(e,xhr,settings){ new_data_type = “application/json,text/javascript,*/*; q=0.01”; xhr.setRequestHeader('accept',new_data_type); })
(q = 0.01是0和1之间的偏好)
因此,您可以更改该数据类型属性和HTTP标头以满足您的需要.
以下是可以使用的MIME类型列表:Here
而具体的javascript媒体类型列表:Here
从服务器发送的数据格式概述:
1.)Ajax将Accept标头的请求发送到所需的MIME类型.
2.)Rails控制器检查Accept标头以确定应该返回的内容.
3.)控制器将确定该操作是否处理特定的MIME类型.
在rails 3中,我们可以使用respond_with,pre 3.0在控制器动作中设置一个respond_to块.
概述Ajax可以在Rails 3.1中使用的方法:
我相信现在的首选方法是使用默认的dataType作为脚本,然后使用js.erb或js.coffee文件处理AJAX请求.
选项:
1.)单击事件:插入DOM元素
2.)通过Ajax提交表单
3.)通过Ajax删除
4.)使用Ajax的客户端验证(在输入字段上使用数据远程)
5.)添加动态选择(在选择字段上使用数据远程)
6.)Ajax分页 – 直接返回HTML.
再次,我包括在这里是我自己的大纲/审查,要获得详细信息,请查看安德烈·辛格的伟大的帖子here.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。