jQuery ajax: błąd działa, nawet jeśli odpowiedź jest OK 200

Mam formularz, który przesyła formularz przez AJAX za pomocą: remote => true. Patrząc na dziennik serwera i FireBug, otrzymuję odpowiedź 200 OK i zwraca JSON w postaci:

{ "email": "[email protected]"}

potem mam tych dwóch handlerów:

$('#new_invitation').bind("ajax:success", function(event, data, status, xhr) {
    alert('test');
});

$('#new_invitation').bind("ajax:error", function() {
    alert('error');
});

a nawet jeśli odzyskuję 200OK, uruchamia się program obsługi błędów. Jedynym momentem, w którym udało mi się doprowadzić do tego, aby praca obsługi sukcesów była możliwa, było wysłanie pustej odpowiedzi z 200 w nagłówku.

Nie mogę zrozumieć, dlaczego to nie działa: -S

EDYCJA 1 ------------ Po wykonaniu tych zmian:

$('#new_invitation').bind("ajaxSuccess", function(event, data, status, xhr) {
    alert('test');
});

$('#new_invitation').bind("ajaxError", function(jqXHR, textStatus, errorThrown) {
alert('error');
    console.log(jqXHR.responseText);
    console.log(textStatus.responseText);
    console.log(errorThrown.responseText);
});

Nadal mam ten sam błąd. Materiał dziennika daje mi:

undefined
[email protected]
undefined

Oto kod formularza (standardowe materiały Rails):

<%= form_for @shoot.invitations.new, :url=>shoot_invitations_path(@shoot), :remote => true, :html => {:class => 'form-inline'} do |f| %>
    <%= f.text_field :email, :'placeholder' => 'ex: [email protected]' %>
    <%= f.text_field :role, :'placeholder' => 'ex: Photographer' %>
    <%= f.submit "Invite", :class => 'btn btn-success' %>
<% end %>

EDYCJA 2 ---------

Zrobiłem kilka zmian i teraz wydaje się, że mój błąd jest błędem analizy. Nie rozumiem, ponieważ jest to JSON, który wracam z serwera (data.responseText), który wydaje się całkiem dobry:

{"email":"[email protected]"}

ODPOWIEDŹ --------- Udało mi się, że wszystko działało po umieszczeniu: 'data-type' =>: json w opcjach formularza. Próbowałem tego wcześniej i nie zadziałało, ponieważ umieściłem go w opcjach form_tag, a nie w opcjach html ...

questionAnswers(5)

yourAnswerToTheQuestion