У меня есть следующая форма:
<%= form_for [@commentable, Comment.new], :remote => true do |f| %>
<%= f.text_area :body %>
<%= f.submit "Add your comment" %>
<% end %>
Затем контроллер (сильно урезанный до базовой части):
def create
respond_with(@comment) do |format|
format.html { redirect_to params[:return_url] }
format.json { render :layout => !request.xhr? }
end
end
Тогда вот javascript для обработки формы AJAX:
$('#new_comment')
.bind('ajax:success', function(evt, data, status, xhr){
var $this = $(this);
// Append response HTML (i.e. the comment partial or helper)
$('#comments ol').append(xhr.responseText);
$('#comments ol li:last-child').effect("highlight", {}, 3000);
// Clear out the form so it can be used again
$this.find('input:text,textarea').val('');
// Clear out the errors from previous attempts
$this.find('.errors').empty();
})
.bind('ajax:error', function(evt, xhr, status, error){
// Display the errors (i.e. an error partial or helper)
$(this).find('.errors').html(xhr.responseText);
});
Форма отправляется в порядке, и комментарий добавляется, как и должно быть, но веб-инспектор Safari показывает SyntaxError: Parse error
в строке 1 (это просто тип документа) любой страницы, на которой я нахожусь, когда отправляется форма комментария, и Я не могу понять, почему.
Даже не уверен, с чего начать.