将ajax var加载到引导模式中,该模式是从另一个php页面加载的


Load ajax var into bootstrap modal which is loading from another php page

我在一个页面上有多个模态,它们都有唯一的id。当用户单击按钮时,它将打开唯一的模态。

<button id="<?php echo $removeslash; ?>" class="btn btn-primary open-modal" data-source="output.php"><span class="glyphicon glyphicon-new-window"></span> Open Modal</button>

正如您所看到的,模态的主体在output.php中,这是因为我在outputphp中运行一个脚本,该脚本根据单击的按钮创建唯一的数据。我试图通过ajax将id="<?php echo $removeslash; ?>"传递给output.php。下面是ajax。

<script>
$(document).on("click", ".open-modal", function(e) {
    e.preventDefault();
    $("#modalResult .modal-body").load($(this).data("source"), function(response, status, xhr) {
        if (status == "error") {
            console.log("unable to load content : " + xhr.status);
        } else {
            $("#modalResult").modal("show");
        }
    });
    var mehmeh = $(this).attr('id');
    $.ajax({
        type: "POST",
        url: "output.php",
        data: ({
            'id': mehmeh
        }),
        success: function(msg) {
            alert("Data Saved: " + msg);
        }
    });
});

ajax代码运行良好,我认为是因为success函数显示的是按钮id。但当模式加载时,它不会加载。这是output.php文件中的echo代码。

<h1>FooBar: <?php echo $_REQUEST['id']; ?></h1>

我确信这与index.php上的模式加载有关,但ajax将数据提供给output.php,但我无法理解。

感谢

我设法解决了这个问题,它可能很草率,但它就在这里。

<script>
$(document).on("click", ".open-modal", function(e) {
    var id = $(this).data('id');
    e.preventDefault();
    $("#modalResult .modal-body").load($(this).data("source"), function(response, status, xhr) {
        if (status == "error") {
            console.log("unable to load content : " + xhr.status);
        } else {
            $.post("output.php", {
                    id: id
                })
                .done(function(data) {
                    $("#modalResult").modal("show");
                    $('.modal-body').html(data);
                })
        }
    });
});