一个ajax和rails交互的例子
发布日期:2021-09-29 20:09:20 浏览次数:9 分类:技术文章

本文共 1544 字,大约阅读时间需要 5 分钟。

首先,这里用了一个,query信息解析的包,如下
[url]https://github.com/rapportive-oss/jquery-parsequery[/url]
主要做如下:
$.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 -%>

转载地址:https://blog.csdn.net/horace_lee/article/details/84085340 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:jquery的选择器
下一篇:Rails 返回hash给javascript

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月23日 15时58分18秒