<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
  Open Modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-danger" data-dismiss="modal" id="close">Close</button>
        <button type="button" class="btn btn-info" id="button1">Button1</button>
        <button type="button" class="btn btn-primary" id="button2">Button2</button>
      </div>
    </div>
  </div>
</div>
(async function(){
  try{
    $('#exampleModal').on('shown.bs.modal', function (e) {
    closeButton()
    $('#button1').on('click', button1)
    $('#button2').on('click', button2)
})
    
  }catch(err){
    console.log(err)
  }
})()

function button1(){
  axios.get('/button1')
}

function button2(){
  axios.get('/button2')
}

function closeButton(){
  $('#button1').off('click')
  $('#button2').off('click')
}
Run Pen

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js
  2. https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.6.0/umd/popper.min.js
  3. https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js
  4. https://cdnjs.cloudflare.com/ajax/libs/axios/0.21.1/axios.min.js