以下のような、ユーザがログインしているかどうかを判別するメソッドがあるとします。
lang
1class Api::SessionsController < Api::ApplicationController 2 # GET /api/sessions/verify 3 def verify 4 if user_signed_in? 5 head :ok 6 else 7 head :unauthorized 8 end 9 end 10end
jQueryからこれを叩くとすると、以下のようになると思っています。
lang
1class @Session 2 @verify: -> 3 $.ajax 4 type: 'GET' 5 url: '/api/sessions/verify' 6 .done -> 7 true 8 .fail -> 9 false 10 11# 認証済みかどうか判断する 12 13Session.verify() 14 .done -> 15 # ok 16 .fail -> 17 # unauthorized
以上で、認証済みかどうかは処理できたのですが、ブラウザのコンソールに以下のようなエラーメッセージが表示されます。
GET http://localhost:3000/api/sessions/verify 401 (Unauthorized)
これが表示される理由は分かるのですが、こういったエラーメッセージは、開発者が意図しない場合にのみ表示されるべきだと理解しており、意図しているケースのため表示したくありません。
一般的に、APIサーバが返す > 400
なコードをjQuery側から処理する場合、どのように実装すればよいのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/12 02:32