Tag: ajax

Access-Control-Allow-Origin不允许jQuery Ajax POST到Rails 3.2.2

我在Heroku上运行的rails scaffold项目中有一个简单的.ajaxpost: $(document).ready(function(){ $.ajax({ type: ‘POST’, url: “http://herokuserver/images.json”, data: { image: { name: “johngalt1” } } }); }); 事实certificate,使用Chrome中的javascript控制台,我得到: XMLHttpRequest cannot load http://herokuServer/images.json. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin. 但是,当我在heroku上使用rails应用程序时,创建了一个名为=>“johngalt1”的新记录。 从我读过的所有内容我认为javascript的跨域问题会阻止创建记录并要求我使用json-p或CORS? 或者javascript跨域问题是否仅阻止通过javascript从服务器接收数据?

元素更新时出现RJS错误“对象不支持此属性”

我在控制器中有以下代码。 我根据另一个下拉框中的选择动态填充下拉框。 def update_releases project = Project.find(params[:project_id]) releases = project.releases puts “releases==#{releases}” render :update do |page| page.replace_html ‘releases’, :partial => ‘releases’, :object => releases end 查看代码: -form_tag reports_path(report_type=1),:method => :get, :multipart => true ,:id => “filter” do %table.grid.full %tr %td.grid.full_panels{:style => “width: 20%”} Project: %td.grid.full_panels{:style => “width: 20%”} //= select_tag “projects”,options_from_collection_for_select(projects,”id”,”name”,params[:projects]),{:onchange => “#{remote_function(:url => {:action […]

Rails Paperclip和AJAX表单

我有一个包含表单的模式,用户可以在其中上传照片。 正确上传照片后,我想通过Ajax响应并显示消息。 不幸的是,表单是以HTML格式提交的,而不是JS格式的。 任何的想法? 表格代码: {:controller => ‘objects’, :action => ‘create’}, :remote=> true, :html => { :multipart => true }) do |f| %> Upload 谢谢

渲染部分视图时ajax中的动态内容

当用户点击不同的链接时,如何获得动态内容? 视图/仪表板/ index.html.haml .container – @trips.each do |trip| = link_to trip.id, quick_view_trips_path, remote: true 我很确定quick_view_trips_path是不正确的,因为所有链接都是这样的: 1 13 51 不知何故,我需要使这些链接动态化,然后当用户点击它时,模态窗口也将是动态的。 如果我用quick_view_trips_path替换quick_view_trips_path = link_to trip.id, trip, remote: true 没有任何反应,并且url会更改为正确的url,但我的模态窗口不会通过ajax呈现。 以下是url现在的样子: 1 除了我想用动态内容完成的事情,有没有办法可以改变我的url: 1 是否可以获取?quick_view=on附加到URL的末尾并使一切工作再次起作用? 以下是我的其余代码: 意见/车次/ quick_view.js.erb $(‘body’).append(”); 意见/车次/ _quick_view.html.haml .root-container = @trip.title = @trip.image = @trip.more_details 这现在无法正常工作,因为我的应用程序返回undefined method 的routes.rb resources :trips do collection do get ‘quick_view’ […]

基于Ajax中的实例变量动态更新页面

更新:我的问题得到了解答,但我写了一篇博文,详细说明了我是如何做到这一点的: http : //lathamcity.com/posts/ajaxInRails.html 我有一个页面,显示基于Ruby对象的事物列表。 我的目标是进行Ajax调用以获取新的Ruby对象,然后基于此更新列表。 我认为这样做的方法是局部的。 我使用代码中的Rails实例变量使整个列表成为部分文件。 然后我想要Ajax调用将相应的实例变量设置为新列表并重新呈现部分。 这是最终目标,但是现在我正在尝试做一个非常基本的版本,我只是将一个实例变量设置为字符串,然后显示字符串。 所以在我的div中,我有: :go , :method => :get, :remote => true do %> ‘test’) %> views/interface (我的控制器名称)文件夹中有一个_test.erb文件,只有以下行作为其内容: 然后在我的控制器中, def go @test = “Hello You” render :update do |page| page.replace_html “test”, :partial => “test” end end 当我运行它时,我得到: Missing template interface/update, application/update 我对render :update不太了解render :update ,我在谷歌的一个例子中找到了它。 我做错了什么导致了这个问题,我该如何解决? 我是以正确的方式进行这种方式还是有更好的方法来做到这一点?

Rails 5 + Ajax:仅在注释存在时附加注释

我正在尝试创建一个function,用户可以使用Ajax创建对文章的评论。 但是,我无法理解为什么只有一条评论存在才能通过ajax成功呈现评论。 注释将提交到数据库而不进行任何回滚。 如果我重新加载页面并创建第二条评论,则只会附加新评论。 Started POST “/articles/veniam-ipsum-eos-quas-aut-rerum-consequatur-at-velit-perferendis-odio/comments” for 103.252.202.198 at 2017-11-03 16:50:14 +0000 Processing by CommentsController#create as JS Parameters: {“utf8″=>”✓”, “comment”=>{“content”=>”comment only appended if a comment exists”}, “commit”=>”Add Comment”, “article_id”=>”veniam-ipsum-eos-quas-aut-rerum-consequatur-at-velit-perferendis-odio”} User Load (0.4ms) SELECT “users”.* FROM “users” WHERE “users”.”id” = $1 ORDER BY “users”.”id” ASC LIMIT $2 [[“id”, 1], [“LIMIT”, 1]] Article Load (0.6ms) SELECT […]

Rails AJAX评论清楚textarea

我在我的网络应用程序中添加了AJAX注释,但我不知道如何在添加注释后使textarea(我在哪里写评论)清楚。 另外,我在使用AJAX时很难显示错误。 我的评论控制员: def create @user = User.find(params[:user_id]) @guide = Guide.find(params[:guide_id]) @comment = @guide.comments.build(comment_params) if @comment.valid? @comment.user = current_user @comment.save respond_to do |format| format.html { flash[:notice] = “Comment added!” redirect_to :back } format.js end else flash[:danger] = “Comment must be 4 to 200 letters long” redirect_to :back end end end JS文件(create.js.erb): $(“.comments”).html(“); 查看(指南/ show.html.erb): … […]

Rails *已完成406不可接受“在生产中……在分段中工作

我在生产服务器中遇到错误“ 已完成406不可接受 ”,我没有在登台服务器中遇到此错误。 相同的代码在暂存时工作正常但在生产中不起作用。这两个环境都安装了相同的gem。 我使用的是rails 3.0.10。 在我的生产环境中,GET请求作为html处理,但在暂存时它被处理为js。我已经为js格式定义了respond_to块。 我不确定为什么它在两种环境中表现不同。 此外,我尝试在routes.rb中添加默认格式为js,但这也无效。 match ‘releases/cycle_paginate’, :to => ‘releases#cycle_paginate’, :defaults => { :format => ‘js’ } 但这也行不通。 以下是生产和分期的日志。 生产: Started GET “/releases/cycle_paginate/2?id=4” for 10.30.10.67 at Wed Aug 14 07:13:45 -0400 2013 Processing by ReleasesController#cycle_paginate as JS Parameters: {“id”=>”4”, “page”=>”2”} 分期: Started GET “/releases/cycle_paginate/2?id=53” for 10.30.10.67 at Wed Aug 14 06:42:45 […]

使用:remote => true和hover事件

我想在Rails中调用Ajax调用。 我已经看到了使用:remote选项这样做的好方法。 我有这个有效的例子: ‘get_transfers’, :section_id => params[:section_id]}, :method => :get, :remote => true) %> 但是,我不希望用户通过按下按钮或单击链接来调用调用,而是在Javascript事件上调用它(将鼠标hover在元素上)。 有没有办法使用:remote => true ,但是当将鼠标hover在元素上时会自动调用它? 如果有,怎么样?

在ajax请求中的rails中的Gettin 500内部服务器错误

我正在尝试从表单创建记录。 我使用railscast 136作为地面工作。 当我尝试提交时,我因缺少部分而得到500错误。 我已经创建了控制器相关的javascript视图,但它正在请求一个与模型同名的视图。 错误信息 渲染约会/ create.js.erb(3.8ms)在12ms内完成500内部服务器错误 ActionView :: Template :: Error(缺少部分约会/约会{:locale => [:en],:formats => [:js,:html],:handlers => [:erb,:builder,:coffee]搜索:*“/ Users / gjores / Sites / Rails / verkstad_test / app / views”):1:$(’#appointmentments’)。append(”) ; app / views / appointmentments / create.js.erb:1:在_app_views_appointments_create_js_erb___2325925946390315228_70273089113920′ app/controllers/appointments_controller.rb:16:in create’ 调节器 def create @appointment = Appointment.new(params[:appointment]) if @appointment.save respond_to do |format| format.html { […]