Rails - 状态触发成功回调:422响应

时间:2015-03-23 10:16:07

标签: javascript jquery ruby-on-rails ajax

我发送ajax请求:

$ ->
  $('#delete_product').dialog
    buttons:
      "Confirm": ->
        $(this).dialog('close')
        $.ajax
          url: '/products/' + $('#delete_product').data('current_product').attr('product_id'),
           type: 'POST',
           data: _method: 'DELETE',
           dataType: "json",
           success: ->
             $('#delete_product').data('current_product').fadeOut(200)
           error: ->
             alert('Error')
       "Cancel": ->
         $(this).dialog('close')
     autoOpen: false

   $('.delete-product').click ->
     current_product = $(this).closest('tr')
     $('#delete_product').data('current_product', $(current_product))

     $('#delete_product').dialog('open')

在控制器中我有:

def destroy
  render json: @product, status: 422
end

首先出现警报,然后单击警报上的“确定”按钮后,该行将淡出。似乎在错误1之后调用了成功回调。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

将ajax调用更改为:

$.ajax(
  url: '/products/' + $('#delete_product').data('current_product').attr('product_id'),
  type: 'POST'
  data: _method: 'DELETE',
  dataType: "json"
  ).success ->
    $('#delete_product').data('current_product').fadeOut(200)
  .error ->
    alert('Error')

现在可行。