调用动态模态引导程序进行登录

时间:2013-10-18 11:53:17

标签: javascript jquery ajax twitter-bootstrap

我想知道如果用户在未记录时执行操作,则使用哪个逻辑来显示登录模式。方案示例:

用户A在网站上登录,他打开另一个页面并注销,他回到上一页登录并在ajax中写了关于shoutbox的评论。用户未被记录,应该显示一个模式(如果可能的话,使用bootstap),并使用表单登录。

显然,检查是用PHP完成的,一切都已完成,我不知道如何调用模态并在检查php后打开它是否失败。

我认为是一个解决方案,比如将模态放在所有页面中,并在ajax的结果后用$('#modal').modal('show');调用它,但我认为不是正确的解决方案将该模态放在所有页面中,也许在那里是一种动态调用它的方法

4 个答案:

答案 0 :(得分:1)

这种方法在很大程度上取决于你使用的是什么。

我是一名symfony2粉丝,如果用户没有登录,我会返回成功消息或包含模态的渲染视图。

在前端,我只需要检查是否返回成功消息,否则eval()消息,以便显示渲染视图。

这样,无论您调用该操作的哪个页面,如果用户未登录,您将获得模态作为响应。

答案 1 :(得分:1)

以下是您可以尝试的内容,

$.ajax({
// your ajax code, in php file you check session if not return NotLoggedIn message
   success:function(data) {
       if(data == 'NotLoggedIn') {
          $('#modalbody').html('here is the html of your login form');
          $('#modal').modal('show');
       } else {
          // other code
       }
   }
});

答案 2 :(得分:1)

您可以在js文件中包含以下javascript代码以及其他人js libs,

function showModal(message, closeCaption, options) {
    $(document).ready(function () {

        var modalDialogHTML = '<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">' +
            '<div class="modal-dialog">' +
            '<div class="modal-content">' +
            '<div class="modal-header">' +
            '<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button><h4 class="modal-title">Modal title</h4>' +
            '</div>' +
            '<div class="modal-body">' + message + '</div>' +
            '<div class="modal-footer">' +
            '<button type="button" class="btn btn-default" data-dismiss="modal">' + (closeCaption ? closeCaption : 'Close') + '</button>' +
            '</div>' +
            '</div>' +
            '</div>' +
            '</div>';

        $('body').append(modalDialogHTML);
        $('#myModal').modal(options);

    });
}

然后你可以动态调用showModal("the message"); 当您检测到未登录的用户时。

http://jsfiddle.net/v8USb/

答案 3 :(得分:0)

使用Cookie,用户注销时,Cookie过期。创建一个包含登录模式代码的php文件,并放在<?php include("login-modal.php")?>等每个页面上。然后在用户添加注释时设置,运行jquery以检查用户是否已登录。如果没有那么打开模态登录