JQuery AJAX: ошибка запускается, даже если ответ в порядке 200

У меня есть форма, которая отправляет форму через AJAX с: remote = & gt; правда. Глядя на журнал сервера и FireBug, я получаю ответ 200 OK, и он возвращает JSON в виде:

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

тогда у меня есть эти два обработчика:

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

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

и даже если я получу обратно 200OK, это обработчик ошибок, который срабатывает. Единственный раз, когда мне удалось заставить обработчик успеха работать, был когда я отправляю пустой ответ с 200 в заголовке.

Я не могу понять, почему это не работает: -S

РЕДАКТИРОВАТЬ 1 ------------ После выполнения этих изменений:

$('#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);
});

Я все еще получаю ту же ошибку. Материал журнала дает мне:

undefined
[email protected]
undefined

Вот код для формы (стандартный материал 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 %>

РЕДАКТИРОВАТЬ 2 ---------

Я сделал несколько изменений, и теперь кажется, что моя ошибка - ошибка разбора. Я не понимаю, потому что это тот JSON, который я получаю с сервера (data.responseText), что кажется хорошим:

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

ОТВЕТ --------- Мне удалось заставить все работать, когда я поставил: «тип данных»; = & GT; : json в опциях формы. Я пробовал это раньше, и это не сработало, потому что я поместил его в опции form_tag, а не в опции html ...

Ответы на вопрос(5)

Ваш ответ на вопрос