weixin_33726943 2017-01-03 14:18 采纳率: 0%
浏览 13

无法捕获ajax响应

I do have a controller action

def create
    @place = Place.new(place_params) 

    respond_to do |format|
  if @place.save       
    format.json { render json: @place, status: :created }      
  end
end

and a form

        div.col-sm-6
        h1 Place
        =form_for Place.new, remote: true do |f|                                                                
          div
            = f.label :address, class: 'label_hidden'
            = f.text_field :address, class: "form-control"
          div
            = f.label :title, class: 'label_hidden'
            = f.text_field :title, class: "form-control"
          div 
            = f.label :longitude, class: 'label_hidden' 
            = f.text_field :longitude, class: "form-control"
          div
            = f.label :latitude, class: 'label_hidden'
            = f.text_field :latitude, class: "form-control"
          div
            = f.submit 'Create', class: "btn btn-default"

so I need to get an ajax response. I ve tryed somth like this

$(document).ready ->
  $("#new_place").on("ajax:success", (e, data, status, xhr) ->
      console.log xhr.responseText
    ).on "ajax:error", (e, xhr, status, error) ->
      console.log "ERROR"

But that does not work. Need some help on this

  • 写回答

1条回答 默认 最新

  • weixin_33730836 2017-01-03 14:56
    关注

    You need to set the form up so that Rails ujs sends the request for json and not js.

    = form_for Place.new, data: { remote: true, type: 'json' } do |f|
    
    评论

报告相同问题?