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

Call dynamically modal bootstrap for log-in

本文关键字:登录 引导程序 动态 模式 调用      更新时间:2023-09-26

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

用户 A 登录了网站,他打开另一个页面并注销,他回到记录的上一页并在 ajax 中的 shoutbox 上写了一条评论。用户未被记录,应通过表单登录显示模式(如果可能,引导点击)。

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

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

这是你可以尝试的,

$.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
       }
   }
});

该方法在很大程度上取决于您使用的确切内容。

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

在前端,我只需要检查是否返回了成功消息,否则 eval() 消息就会显示呈现的视图。

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

您可以在 js 文件中包含以下 javascript 代码以及其余的 js 库,

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/

使用 cookie,

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