Просто возвращение успеха или неудачи от вызова ajax в рельсах - PullRequest
20 голосов
/ 25 сентября 2010

У меня есть небольшой вызов ajax, который вызывает rails:

    $.ajax({
        type: "POST",
        url: '...',
        data: ({    ...
                }),
        success:    function(response, status) {
                    console.log(status);
        }
     });

В контроллере rails я просто удаляю запись из базы данных и просто хочу вернуться, если она прошла успешно или нет.Какой лучший способ?

Должен ли я просто вернуть JSON в response_to?Если да, что именно вы бы в нем содержали?

Ответы [ 4 ]

31 голосов
/ 25 сентября 2010

Лучший способ обозначить успех на этом пути - поместить в контроллер следующее:

def destroy
  # ... your code ...
  respond_to do |format|
    format.json { head :ok }
  end
end
7 голосов
/ 21 декабря 2016

попробуй это у меня работает

def destroy 
  ...        
  render json: {}, status: 200
end
2 голосов
/ 06 апреля 2016

Я нашел этот более короткий способ сделать работу:

def destroy
  # ... your code ...
  head :ok # this will return HTTP 200 OK to jQuery!
end
0 голосов
/ 25 сентября 2010

Когда вы выполняете запрос, он может возвращать некоторый код, который говорит, что он успешно выполнен, чтобы подтвердить, что строка была удалена. Таким образом, вы можете вернуть это, чтобы убедиться, что запрос также был успешно выполнен вместе с вызовом ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...