anti-k
anti-k

Reputation: 317

cant catck ajax response

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

Upvotes: 0

Views: 23

Answers (1)

max
max

Reputation: 102343

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|

Upvotes: 1

Related Questions