关于rails响应ajax请求的问题

悬赏:20 发布时间:2008-06-21 提问人:bluegene (初级程序员)

不使用rails自带的javascript框架,在rails中直接响应浏览器发送来的ajax请求,请问该如何实现,谢谢

采纳的答案

2008-06-23 edokeh (初级程序员)

浏览器端(VIEW文件中)用rails自带的prototype库来发送AJAX请求

服务器端(controller)里面区分一下request的accept字段

respond_to do |format|

  format.html{
    #原先的逻辑
  }
  format.xml{
    #响应AJAX请求的逻辑
  }
end

提问者对于答案的评价:
感谢

其他回答

提个思路:
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}')
小小龙猫 (初级程序员) 2008-06-21
用你的js替换就可以了。如果说这个js没有相应的method,你可以写个adapter.js来处理。
<%= javascript_include_tag "jquery", "application" %>


这里有个jquery的plugin,你可以参考下
http://ennerchi.com/projects/jrails
xxj (初级程序员) 2008-06-24