首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

一个ajax跟rails交互的例子

2012-10-19 
一个ajax和rails交互的例子首先,这里用了一个,query信息解析的包,如下https://github.com/rapportive-oss/

一个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 Railstry {  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.rbhelper_method :params_to_urldef 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 propertieswindow.location.hash = '<%= params_to_url %>';<%- end -%>

热点排行