javascript - 动态 ajax bootstrap 模态框无法正常工作

标签 javascript jquery ajax twitter-bootstrap

我有这段代码,用于使用 $.ajaxjson 在 Bootstrap 模式框中显示动态数据。

JS:

$(function() {

    $('.push').click(function() {
        var id = $(this).attr('id');

        $.ajax({
            type: 'post',
            url: '<?PHP echo SITE;?>controller/booksdetails.php', // in here you should put your query 
            dataType: "json",
            data = {
                'bookid': id,
                'csrf_token': <?php echo $token; ?>
            },
            success: function(r) {
                // now you can show output in your modal 
                $('#bookdetails').modal({
                        backdrop: 'static',
                        keyboard: false
                    }) // put your modal id 
                $('.something').show().html(r);
            }
        });


    });

});

HTML:

<a href="javascript:void(0)" id="241" class="push info" title="Full details">show details</a>

<div id="bookdetails" class="modal fade in" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                <h4 class="modal-title">title</h4>
            </div>
            <div class="modal-body text-justify">
               <div class="something" style="display:none;">

             </div>
            </div>
            <div class="modal-footer">
            <button type="button" data-dismiss="modal" class="btn btn-primary btn-sm"> close</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div>

但实际上当我点击链接时,模态和数据没有显示!如何解决问题并在我的模态中显示值?

DEMO

最佳答案

你有几个错别字:

'csrf_token': <?php echo $token; ?> 

应该是:

 'csrf_token': '<?php echo $token; ?>'

字符串必须用引号引起来。

还有:

data = {
    'bookid': id,
    'csrf_token': <?php echo $token; ?>
},

应该是:

data: {
    'bookid': id,
    'csrf_token': <?php echo $token; ?>
},

对象的属性分配是使用 : 而不是 = 运算符执行的。

我 mock 了你的 ajax reuqest 并修复了上面提到的拼写错误。您的代码工作正常:

http://jsfiddle.net/kwv3h8jv/2/

关于javascript - 动态 ajax bootstrap 模态框无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32718990/

相关文章:

javascript - 我们能否使 JQuery UI 可拖动/可排序以在鼠标右键上工作

javascript - 如何使用 javascript 检查是否对服务器进行了调用

jquery - 为什么 AJAX 请求创建的事件触发器必须位于 AJAX 请求本身中?

javascript - 从javascript中的数组数组中选择随机数组

javascript - 如何停止youtube链接以在gmail模板中加载其他视频?在这种情况下,javascript或jquery有用吗?

javascript - 如何获取用户浏览器详细信息、IP地址和位置信息?

jquery - 有没有一个小而干净的类似 jQuery 的库,只专注于 HTML5?

javascript - 何时对 Ajax 和 XMLHttpRequest 使用 setRequestHeader

javascript - 我怎样才能让这个 javascript 调用我的 C# 方法并传递参数

javascript - Vue.js:简单的点击功能不触发