Ruby on rails 以json格式接收RubyonRails中ajax请求的处理结果
我正在尝试通过AJAX进行身份验证,但我不知道在AJAX请求完成时如何显示消息。当电子邮件和密码无效时,我需要显示一条错误消息 haml页面的代码Ruby on rails 以json格式接收RubyonRails中ajax请求的处理结果,ruby-on-rails,ruby,ajax,json,haml,Ruby On Rails,Ruby,Ajax,Json,Haml,我正在尝试通过AJAX进行身份验证,但我不知道在AJAX请求完成时如何显示消息。当电子邮件和密码无效时,我需要显示一条错误消息 haml页面的代码 =form_for(resource, :as => resource_name, :url => session_path(resource_name), :remote => true, :format => :json) do |f| = label :user, :email, "Email" = t
=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"}
结果呢
您的想法?由于您使用的是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);
}
}
});
由于您使用的是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);
}
}
});
我们需要您的UsersController/SessionsController代码来回答您的问题。是的,控制器看起来像什么?我们需要您的UsersController/SessionsController代码来回答您的问题。是的,控制器看起来像什么?在ajax请求中,您必须注意自己显示消息。如果为显示flash消息保留了特定的容器/dom元素,则可以修改dimuchs answer以在此处显示消息。在ajax请求中,您必须自行显示消息。如果为显示flash消息保留了特定的容器/dom元素,则可以修改dimuchs answer以在此处显示消息。