`

一个ajax和rails交互的例子

阅读更多
首先,这里用了一个,query信息解析的包,如下
https://github.com/rapportive-oss/jquery-parsequery
主要做如下:
$.parseQuery({query: "id[]=1&id[]=2",
    array_keys: /^ids$/,
    decode: function (input, context) {
        input = this.default_decode(input);
        if (context === null) {
            return input.replace(/\[\]$/, 's')
        } else if (context === "ids") {
            input = parseInt(input);
            if (isNaN(input)) {
                throw URIError("id was not a number");
            }
        }
        return input;
    }
}) == {'ids':[1, 2]}


例子,正式触发

// If direct link to property query is used send to Rails
try {
  var hash = location.hash.substr(1, location.hash.length);
  if (location.pathname == '/properties' && hash.length > 0) {
    $.parseQuery.separator = ',';
    var data = $.parseQuery(hash);
    $.ajax({
      url      : '/properties',
      type     : 'GET',
      data     : data,
      dataType : 'script'
    });
  }
} catch(err) { }

服务器端

# app/controllers/application_controller.rb
helper_method :params_to_url

def params_to_url
  rails_params = [
    'action', 
    'controller', 
    'commit', '_', 
    'authenticity_token', 
    '_method', 
    'format', 
    'utf8']
  params_copy = params.dup
  params_copy.map { 
   |k,v| "#{k}=#{URI.escape(v.to_s)}" if !v.empty? && !rails_params.include?(k)  
  }.compact.join(',')
end






# app/views/properties/index.js.erb
<%- if @properties.size > 0 -%>
# For example, update DIV with found properties
window.location.hash = '<%= params_to_url %>';
<%- end -%>
分享到:
评论

相关推荐

    Ajax on Rails (PPT)

    Ajax on Rails 的 PPT。 pdf格式。

    Ajax on Rails

    从事RAILS开发的人员如何使用AJAX. Learn to build dynamic, interactive web applications using the two most important approaches to web development today: Ajax and the phenomenally efficient Ruby on ...

    ajax on rails

    ajax on rails压缩包,全英文

    跨越边界1:Ajax on Rails

    您一定知道Ajax是这样一种编程技术,它使用XML、JavaScript和Web标准来创建高度交互性的Web页面,正如您在Google Maps和...本文全面介绍了两个简单的Ajax例子,延着这个思路介绍了Ruby/Ajax这一组合如此成功的原因。

    跨越边界 Ajax on Rails

    跨越边界 Ajax on Rails(英文版)

    Ajax-rails-ajax-demo.zip

    Ajax-rails-ajax-demo.zip,ruby on rails的ajax演示项目,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的...

    Ajax-Rails-4-AJAX-Form.zip

    Ajax-Rails-4-AJAX-Form.zip,rails 4 ajax表单示例,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下...

    Ruby on Rails入门例子

    程序 博文链接:https://zhangjingqiang.iteye.com/blog/47041

    Ajax-rails-ranger.zip

    Ajax-rails-ranger.zip,rubyonrailsapi的自以为是ajax客户端,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页...

    Ajax-rails-travel-app.zip

    注意:repo包含多个分支,具有原始rails版本,并使用jquery前端更新了应用程序。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小...

    ajax-rails

    比较实用的rails的ajax框架,rails里面封装了很多比较好用的ajax方法,上手很快

    Ajax-Rails-4-AJAX-modal-form-render-JS-response-as-table-row.zip

    Ajax-Rails-4-AJAX-modal-form-render-JS-response-as-table-row.zip,rails 4 ajax模式表单将js响应呈现为表行,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于...

    Ruby on Rails入门经典-例子

    Ruby on Rails入门经典-例子,有很多rails工程实例。

    rails 项目起步示例

    rails 项目起步示例 同新手共同进步

    Ajax-ajax-datatables-rails.zip

    Ajax-ajax-datatables-rails.zip,datatable的ajax方法的包装器,允许在rails应用程序中与服务器端分页同步,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建...

    chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器.zip

    chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器 主厨 rails安装一个准备为 Ruby on Rails 栈准备的Ubuntu服务器:NginxPostgreSQLRedisMemcached带RVM的rubyPhusion乘客独立要求Ubuntu ...

    Rails之道,完整扫描版

    Ajax、Prototype和Scriptaculous等JavaScript代码库和RJS,Session管理、用户登录和认证系统,XML和ActiveResource,后台处理和ActionMaile,测试和specs(包括RSpec on Rails和Selenium),安装、管理、编写插件,...

Global site tag (gtag.js) - Google Analytics