繁体   English   中英

Bootstrap Ajax Modal-问题显示身体和页脚

[英]Bootstrap Ajax Modal - Issues Showing Body and Footer

我试图显示一个Ajax模式,该模式将在提交时显示数据库值。 但是,我似乎无法从URL显示信息。 我对AJAX相对较新,因此这可能是一个非常简单的问题。

我用这个称呼模态(表中的多个)

<a class="btn btn-small btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="<?php echo $Name = $row['Name']; ?>">Read More</a>

模态如下:

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="memberModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                <h4 class="modal-title" id="memberModalLabel">Member Detail</h4>
            </div>
            <div class="dash">

            </div>

        </div>
    </div>
</div>

和AJAX

$('#exampleModal').on('show.bs.modal', function (event) {
      var button = $(event.relatedTarget) // Button that triggered the modal
      var recipient = button.data('whatever') // Extract info from data-* attributes
      var modal = $(this);
      var dataString = recipient;

        $.ajax({
            type: "GET",
            url: "getEventDetails.php",
            data: dataString,
            cache: false,
            success: function (data) {
                console.log(data);
                modal.find('.ct').html(data);
            },
            error: function(err) {
                console.log(err);
            }
        });  
})

最后是AJAX中的模式:

    $name = $_GET['name'];  

    //executes the SQL query
    $result = mysql_query("SELECT * FROM Events WHERE Name = '$Name'");

    if (isset($_POST)) {
        while ($row = mysql_fetch_array($result)) {
            $Date = $row['Date'];
            $Name = $row['Name'];
            $Type = $row['Type'];
            $Region = $row['Region'];
        }
    }  
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <!--Style Sheets-->
    <link href ="css/bootstrap.min.css" rel="stylesheet">
    <link href ="css/style.css" rel="stylesheet">
    <link href ="css/font-awesome.css" rel="stylesheet">
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Using Bootstrap modal</title>
</head>
<body>

    <div class="modal-body">             
        <?php echo $name ?> 
    </div>
    <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    </div>

</body>
</html>

好吧,似乎在进行ajax调用时出现了问题。 如果我们在检查器的“网络”选项卡中查找,可以看到您对服务器的请求已被取消:

在此处输入图片说明

进一步查看控制台显示错误:

在此处输入图片说明

从这里可以看到,您的主站点已设置为可以通过HTTPS进行工作,但是您发出的请求并不安全。 仅出于故障排除目的,请尝试添加HTTPS作为协议的文件的完整路径。

  $.ajax({
        type: "GET",
        url: "/getEventDetails.php/",
        data: dataString,
        cache: false,
        success: function (data) {
            console.log(data);
            $('.dash').html(data);
        },
        error: function(err) {
            console.log(err);
        }
    }); 

跟进

如果您查看从var_dump($_GET); 您会看到输出不太正确。

array(2) {
    ["Cardiff_Charity_Race"]=> string(0) "" 
    ["_"]=> string(13) "1431438472999" 
}

您会看到键“ Cardiff_Charity_Race”等于“”,而“ _”等于“ 1431438472999”。 这不是我们想要的。 我们希望“名称”等于“ Cardiff_Charity_Race”,例如:

array(1) {
    ["name"]=> string(0) "Cardiff Charity Race" 
}

为此,请尝试按以下方式正确格式化dataString:

$('#exampleModal').on('show.bs.modal', function (event) {
      var button = $(event.relatedTarget) // Button that triggered the modal
      var recipient = button.data('whatever') // Extract info from data-* attributes
      var modal = $(this);
      var dataString = 'name=' + recipient;
      console.log(dataString);
        $.ajax({
            type: "GET",
            url: "getEventDetails.php",
            data: dataString,
            cache: false,
            success: function (data) {
                console.log(data);
                modal.find('.ct').html(data);
            },
            error: function(err) {
                console.log(err);
            }
        });  
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM