0

AJAXを介して認証しようとしていますが、ajaxリクエストが終了したときにメッセージを表示する方法がわかりません。メールアドレスとパスワードが無効な場合、エラーメッセージを表示する必要があります。

hamlページのコード

=form_for(resource, :as => resource_name, :url => session_path(resource_name), :remote => true, :format => :json) do |f| 
    = label :user, :email, "Email"
    = text_field :user, :email
    = label :user, :password
    = password_field :user, :password
    %input{:type => "submit", :value => "Sign in"}

そしてその結果 ここに画像の説明を入力してください

あなたのアイデアは?

4

1 に答える 1

3

JSON形式(アクションではなくデータのみ)を使用しているため、何らかのクライアント側の処理が必要です。

ajax:successハンドラーで応答を処理してみてください。jQueryを使用すると、次のようになります。

$('#the_form_id').on('ajax:success', function(data, status, xhr) {
  if(data) {
    if(data.status) { // Login successful
      alert("Login successful");
    }
    else {
      alert(data.errors);
      // To show errors inside a DOM element
      $("#error-wrapper").html(data.errors);
    }
  }
});
于 2012-09-16T14:40:28.353 に答える