40、Rails 开发:Ajax、会话管理与认证全解析

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值