Rails 开发:Ajax、会话管理与认证全解析
1. Rails 中的 Ajax
在 Rails 应用里使用 jQuery 进行 Ajax 请求时,jQuery 会自动在请求 URI 的查询字符串中添加 ?callback= 和随机函数名,同时还会在文档中添加必要的脚本标签,以此绕过同源策略。我们现有的事件处理程序绑定到 ajax:success 上,这样就能像之前一样接收数据,而且现在还能从其他 Web 应用接收数据。
由于 jQuery 会将请求视为 JavaScript 请求,所以 Rails 控制器需要响应 :js 格式。在 Rails 3 中,还没有针对 JavaScript 响应的自动渲染功能,因此需要在控制器中添加一个特殊的 JavaScript 处理程序:
respond_to :html, :xml, :json, :js
...
def counts
respond_with(Client.all_with_counts, :root => 'clients') do |format|
format.html { redirect_to clients_path }
format.js { render :json => Client.all_with_counts.to_json, :root => 'clients' }
end
end
我们依旧将数据转换为 JSON 格式。 Rack::JSONP
超级会员免费看
订阅专栏 解锁全文
825

被折叠的 条评论
为什么被折叠?



