成功后调用ajax

I made an ajax request to get the name of each button I click... Then I want to put everything in that url into "#Container".(url define a page that has some codes) It works for me at the first time...but for the other times I have to reload the page to show me the details of each button and it doesn't show me details of other buttons that clicked after first desired button..

$(function () {
  $('button').click(function () {
    var data= $(this).val();
    $.ajax({
      url: '/myurl',
      type: 'post',
      dataType: 'json',
      data: {
        data: data
      },
      success: function (data) {
        $('#container').html(data);
      }
    });
  });
});

What should I do? Is there something preventing of running the ajax for next times ?

Try with $(document).on('click', instead of $('button').click like below

$(function () {
  $(document).on('click','button',function () {    
  var data= $(this).val();
  alert(data);
  $.ajax({
    url: '/myurl',
    type: 'post',
    dataType: 'json',
    data: {data: data},
    success: function (data) {
      $('#container').html(data);}
    });
  });
});

You will need to re-bind ajax event because of its re-rendering DOM after an ajax request completes. All those elements under #container are not virtual part of DOM and your click event only works for pre-existed elements.

Try this

Wrap ajax event in a separate function

function ajaxEvent(data){
 $.ajax({
    url: '/myurl',
    type: 'post',
    dataType: 'json',
    data: {data: data},
    success: function (data) {
      $('#container').html(data);
      clickEvent(); //note this function attachment I added below
    }
 });
}

You can wrap your click event into a function

function clickEvent(){
  $('button').off('click');
  $('button').on('click',function(){
     ajaxEvent($(this).val());
  });
}

Now js looks like

<script>

$(function(){
  clickEvent();
});

function ajaxEvent(data){
 $.ajax({
    url: '/myurl',
    type: 'post',
    dataType: 'json',
    data: {data: data},
    success: function (data) {
      $('#container').html(data);
    }
 });
}

function clickEvent(){
  $('button').off('click');
  $('button').on('click',function(){
     ajaxEvent($(this).val());
  });
}

</script>

Also I see you are passing ajax data as $('button').val() which is not correct. Use a input type text if you want to send a data to server.