一个Ajax POST请求的多个响应

时间:2017-04-04 03:23:44

标签: javascript jquery ajax twitter-bootstrap bootstrap-modal

我有一个打开引导模式的按钮,并使用ajax GET请求将json文件中的一些数据加载到modal-body。我已经向模态添加了第二个按钮(OK)以增加数字(在json文件中的对象内)并将对象作为字符串发布到php文件(更新json文件并打印数字)通过ajax POST请求。 问题是当我第二次点击OK时,我得到了2个回复。当我第三次点击OK时,我得到了3个响应,所以响应会增加。 就像有一些计数器可以计算模态打开的时间。 即使我没有点击“确定”并且只是关闭模式,此计数器也会递增,当我单击“确定”时,响应会启动,并且它们的数量等于我打开模态的次数。 我认为ajax请求是负责任的,但我删除了它,仍然有多个响应,我可以从控制台看到。 所以我认为模态和我添加的按钮有问题,但我不知道是什么。

以下是模态的html:

<!-- Modal 1 -->
 <div class="modal fade" id="Modal1" role="dialog">
    <div class="modal-dialog">

        <!-- Modal contents-->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Are you sure?</h4>
            </div>
            <div class="modal-body">
                <p id="mBody1"></p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default ok1" data-dismiss="modal">OK</button><button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>

    </div>
</div

这是jQuery:

$('.dr1').click(function(){
    $('#Modal1').modal();
    $('.modal-header, .modal-footer').css("border-color", $(this).css("background-color"));
    $.ajax({
        type: 'GET',
        url: '/resources/doctors.json',
        dataType: 'json',
        success: function(doctors) {
            $('#mBody1').html('You are requisting a reservation for<br/>Dr. ' +doctors[0].name+ '<br/>Your number is ' +(doctors[0].nNo+1));
            $('.ok1').click(function() {
                doctors[0].nNo=doctors[0].nNo+1;
                console.log(doctors);
                $.ajax({
                    type: 'POST',
                    url: '/resources/newTic.php',
                    data: {data: JSON.stringify(doctors), drNo: "1" },
                    dataType: 'json',
                    success: function(msg) {
                        console.log(msg);
                    }
                });
            });
        }
    });
});

0 个答案:

没有答案