Javascript 从rails呈现登录表单后触发回调

Javascript 从rails呈现登录表单后触发回调,javascript,jquery,ruby-on-rails,json,ajax,Javascript,Jquery,Ruby On Rails,Json,Ajax,我正在用rails和客户端javascript构建一个单页应用程序。为了动态管理接口,我需要在返回登录表单视图(loginForm.html.erb)后触发回调(用于通过Bcrypt进行用户身份验证)。我尝试了jquery$.ajax请求,可以得到表单或json响应,但不能同时得到两者 以下是获取登录表单的请求: loginMenuEl.on("click", function(event){ event.preventDefault(); $.ajax({ ur

我正在用rails和客户端javascript构建一个单页应用程序。为了动态管理接口,我需要在返回登录表单视图(loginForm.html.erb)后触发回调(用于通过Bcrypt进行用户身份验证)。我尝试了jquery$.ajax请求,可以得到表单或json响应,但不能同时得到两者

以下是获取登录表单的请求:

loginMenuEl.on("click", function(event){
    event.preventDefault();
    $.ajax({
        url: "http://localhost:3000/login",
        type: "GET",
        dataType: "json"
    }).done(function(jsonData) {
        self.initLoginButton();
        self.processContent(jsonData);
    }).fail(function(){
        console.log("*** ajax fail L1 ***");
    });
});
以下是相关路线:

get "/login" => "sessions#login"
get "/loginForm" => "sessions#loginForm"
get "/login_attempt" => "sessions#login_attempt"
post "/login_attempt" => "sessions#login_attempt"
以下是处理表单和json的会话控制器:

def login
    @contentInfo = Content.find_by_id(1)
    respond_to do |format|
        format.html { render :loginForm }
        format.json { render json: @contentInfo }
    end
end
我尝试了其他版本的respond_来阻止,但表单从未返回:

format.html { redirect_to (:action => 'loginForm') }
format.html { redirect_to (action: 'loginForm') }
format.html { redirect_to action: 'loginForm' }
format.json { render json: @contentInfo }

我认为rails可以同时返回json和视图文件(loginForm.html.erb)

rails不能同时返回html和json,一次只能返回一个。谢谢。我很害怕。有没有其他方法可以触发不涉及ajax的回调。。。将表单完全加载到中会触发什么?您是否尝试过在表单的ajax请求的成功回调中获取json数据?