Tag: ajax

使用ajax轮询服务器

我正在构建一个网站,其中包含一个用户可以相互发送消息的系统。 我希望这样当登录用户收到消息时,他会在屏幕上得到一些更新,告诉他。 这些消息不一定是实时的,所以我认为我不想用彗星或剑圣或类似的东西。 相反,我很乐意每分钟左右轮询服务器并监听更新。 我是javascript的新手,我想知道是否有一个光滑/正确的方法来做到这一点。

是否有一个创建类似Twitter的追随者的gem,或者是一个微不足道的:has_many?

想知道是否有人想要类似Twitter的追随function,是否有gem? 我知道有一个处理“朋友”,但是只是简单地跟随has_many或者是否有一个有助于实现的gem(包括ajax / jquery部分?)

是否可以在rails 3.0中使用js.erb partial?

如果可能,我如何从另一个js.erb文件运行它? 试图让事情干涸! 编辑:说明:我在search / index.js.erb中有一个js.erb例程。 我想在location / index.js.erb中使用相同的例程。 因此,我想知道是否可以部分包含js.erb代码,这样我就不必将例程从第一个index.js.erb文件复制到另一个。

使用rails中的simple_form和AJAX解析JSON错误

我有一个表单在用户仪表板上使用Simple Forms和remote => true(由仪表板视图和仪表板控制器处理)。 该表单允许用户添加自定义游戏规则; 但是,它通过Jquery的.load()函数加载表单。 表单从“规则”视图加载(由规则控制器处理)。 当用户单击提交按钮时,我没有得到任何错误validation。 她是规则控制器上的创建操作: def create @rule = Rule.new(params[:rule]) respond_to do |format| if @rule.save format.html { redirect_to dashboard_path, notice: ‘Rule was successfully created.’ } format.json { render json: @rule, status: :created, location: @rule } format.js else format.html { render template: ‘dashboard/index’} format.json { render json: @rule.errors, status: :unprocessable_entity } format.js […]

使用AJAX从Ruby on Rails服务器获取JSON内容

我有一些RoR的经验,不过,我是AJAX事务的新手。 我的目标是在不同的机器上运行HTML5 + JavaScript客户端和Ruby on Rails服务器(最终)。 我想要的是JavaScript客户端以JSON格式从服务器获取内容,然后进行解析。 我已经尝试了很多东西,比如添加一个“responseType”等,但是没有它们起作用。 我当前的JavaScript文件是这样的: $(document).ready(function() { var xmlhttp = new XMLHttpRequest(); xmlhttp.open(“GET”, “http://localhost:3000/contents”, true); xmlhttp.send(); alert(xmlhttp.responseText); }); 我的RoR应用程序有一个路径“/ contents”,它调用contents_controller.rb的索引函数,如下所示: def index @contents = Content.all.order(‘created_at DESC’) respond_to do |format| format.html # index.html.erb format.json { render json: @contents } end end AJAX甚至是正确的方法吗? 我有点迷茫。 非常感谢!

如何将caches_action配置为适用于多种格式?

我有一个rails动作,它响应各种格式的请求,包括AJAX请求,例如: def index # do stuff respond_to do |format| format.html do # index.html.erb end format.js do render :update do |page| page.replace_html ‘userlist’, :partial => “userlist”, :object=>@users page.hide(‘spinner’) page.show(‘pageresults’) end end end end 我已使用memcached将此操作设置为缓存: caches_action :index, :expires_in=>1.hour, :cache_path => Proc.new { |c| “index/#{c.params[:page]}/#{c.request.format}” } 这种模式似乎适用于缓存HTML结果,但不适用于JS结果。 当JS部分不是来自缓存时,它总能正常工作。 但是,当存在缓存命中时,页面不会更新。 什么可能导致这个和什么是修复? 更新:深入研究这一点,看起来缓存中的请求获取mime类型’text / html’而不是’text / javascript’。 但是我不知道如何解决这个问题 – 它是memcached的怪癖吗? […]

Rails:在textfield中执行onchange远程函数时如何从另一个字段获取值

我想创建一个表格来预订借来的物品。 预订包括接送时间,返回时间和服务器想要借入的项目及其金额。 例如,我可能想在本周余下的时间里预留三个盘子,三把刀和三个叉子。 在表单中,我想做一个AJAXvalidation,检查是否有足够的项目可用。 在每个项目旁边,我有一个文本框,reserver输入项目数量。 在输入之后,我想进行一次onchange调用,检查给定日期的项目数量是否可用。 因此,我需要传递onchange以下参数中调用的远程函数:item id,item amount(当前文本字段的值)以及上面的datetime_select字段中给出的拾取时间和返回时间。 这是我的代码: 3, :onchange => “#{remote_function(:url => { :controller => :items, :action => :availability }, :with => with, :update => availability_url) }” %> 显然,这不起作用,因为@ reservation.return_time和@ reservation.pick_up_time尚未设置,因为表单尚未发送。 我的问题是:我如何获得这些价值观? 我相信它应该通过javascript调用完成,但我没有设法在“with”变量中插入一个javascript调用,或者至少没有让它工作。 有谁知道我应该怎么做?

Rails 3:使用AJAX请求更新URL参数

我有一个filter和一个产品列表(id,name,creation_date)。 我可以按id,name或creation_date进行过滤。 使用AJAX请求我更新内容div …但显然URL不会更改。 如何将params附加到URL? 例如: localhost:3000/dashboard/catalog?name=radio&?date_creation=23-06-2013 我知道history.pushState(html5)存在…但我需要我的应用程序在IE9等html4浏览器中运行。 我尝试使用Wiselinks( https://github.com/igor-alexandrov/wiselinks ),它使用History.js,但它没有使用AJAX请求。 有任何想法吗? 谢谢

Ruby on Rails实时搜索(过滤)

我正在关注railscasts rails ajax教程并陷入困境。 实时搜索不起作用,我必须单击搜索按钮才能获得结果。 我有两个searchfilter。 第一个是select_tag。 第二个是复选框。 这是我的代码: results.html.erb Filter “artists_search” do %> 的application.js # Ajax search on keyup $(‘#artists_search input’).keyup( -> $.get($(“#artists_search”).attr(“action”), $(“#artists_search”).serialize(), null, ‘script’) false ) user.html.erb def result if params[:titel_id].present? @users = User.where(‘titel_id = ?’, titel_id) if params[:option].present? @users = User.where(..) else @users = User.all end respond_to do |format| format.html # result.html.erb […]

有没有:disable_with等效于link_to_remote?

我有一个link_to_remote,我想确保人们只能在等待它返回时点击一次。 有人点击后有没有一种好方法可以禁用它? (更改链接的文本也很好,但我也想要禁用它以确保)。 这是Ruby on Rails btw。