关于rails响应ajax请求的问题
悬赏:20 发布时间:2008-06-21 提问人:bluegene (初级程序员)
不使用rails自带的javascript框架,在rails中直接响应浏览器发送来的ajax请求,请问该如何实现,谢谢
采纳的答案
2008-06-23 edokeh (初级程序员)
浏览器端(VIEW文件中)用rails自带的prototype库来发送AJAX请求
服务器端(controller)里面区分一下request的accept字段
服务器端(controller)里面区分一下request的accept字段
respond_to do |format|
format.html{
#原先的逻辑
}
format.xml{
#响应AJAX请求的逻辑
}
end提问者对于答案的评价:
感谢
其他回答
提个思路:
rails的ajax实现也不过是对prototype ajax的封装,如果自己写的ajax,rails同样可以接受请求进行处理,然后通过render text、json、xml等返回数据。
rails的ajax实现也不过是对prototype ajax的封装,如果自己写的ajax,rails同样可以接受请求进行处理,然后通过render text、json、xml等返回数据。
caryl (初级程序员) 2008-06-21
你可以看看HTML里面AJAX提交到服务器上的路径,用自己的ajax也提交到那个路径就好了,不过rails有个验证过程,所以你的请求要加参数
#{request_forgery_protection_token}='+ encodeURIComponent('#{escape_javascript form_authenticity_token}')
#{request_forgery_protection_token}='+ encodeURIComponent('#{escape_javascript form_authenticity_token}')
小小龙猫 (初级程序员) 2008-06-21
用你的js替换就可以了。如果说这个js没有相应的method,你可以写个adapter.js来处理。
这里有个jquery的plugin,你可以参考下
http://ennerchi.com/projects/jrails
<%= javascript_include_tag "jquery", "application" %>
这里有个jquery的plugin,你可以参考下
http://ennerchi.com/projects/jrails
xxj (初级程序员) 2008-06-24
已解决问题数: 961
待解决问题数: 421
已关闭问题数: 1641
待解决问题数: 421
已关闭问题数: 1641




