Я пытаюсь сделать одно сообщение с помощью coffeescript и jquery, но мой скрипт не обрабатывает обратный вызов успеха.Мой пост ajax с coffeescript не обрабатывает обратный вызов успеха
* cards_controller.js.coffee *
if $('form').attr('action') == '/cards' alert "Hey ho" $('#add_card').click (e) ->
e.preventDefault()
$.ajax '/cards',
type: 'PUT' #Tried POST also
dataType: 'json'
error: (jqXHR, textStatus, errorThrown) ->
console.log textStatus
success: (res) ->
console.log "Card name: " + data.card.code + "\nPoints: " + data.points
complete: (jqXHR, textStatus) ->
console.log "Status: " + textStatus
index.html.erb
<%= form_tag url_for(:controller => 'cards', :action => 'create'), :remote => true %>
И сгенерированный браузер следующий:
(function() {
if ($('form').attr('action') === '/cards') {
alert("Hey ho");
$('#add_card').click(function(e) {
e.preventDefault();
return $.ajax('/cards', {
type: 'POST',
dataType: 'json',
error: function(jqXHR, textStatus, errorThrown) {
return alert(textStatus);
},
success: function(res) {
console.log("Card name: " + data.card.code + "\nPoints: " + data.points);
return $('#card-list > tbody:last').append('<tr>test</tr><tr>uauauiua</tr>');
},
complete: function(jqXHR, textStatus) {
return console.log("Status: " + textStatus);
}
});
});
}
}).call(this);
* cards_controller .rb *
def create
card = Card.find_by_code(params[:code])
if card && card.user.nil?
current_user.add_card(card)
else
return render :status => 401, :json => { :message => "O cartão não existe ou já está cadastrado"}
end
respond_to do |format|
format.js { render json: { :card => card, :points => card.card_business_points.sum("points") } , content_type: 'text/json' }
end
end
Запрос успешно переходит к контроллеру, и карта создана правильно. Проблема в том, что отладка в Chrome кажется, что она не обрабатывает обратный вызов и не регистрируется.
Пожалуйста, кто-нибудь может помочь с этим?
Вы не можете использовать метод 'PUT' напрямую. [Как поместить данные на рельсы с помощью JQuery] [1] [1]: http://stackoverflow.com/questions/907910/how-do-i-put-data-to- rails-using-jquery – Oleg
@Oleg: Вы заметите, что этот вопрос с 2009 года (т.е. миллион интернет-лет назад). Rails 3 очень рад работать с PUT. –
Я тоже пробовал с сообщением, но без успеха! – felipeclopes