$(document).ready(function(){ var flag = true; $(".hold").click(function(){ if(flag){ result = 'desc'; flag = false; } else{ result = 'asc'; flag = true; } console.log("do ajax, sorttype = " + result); /* $.ajax({ type:"POST", data:{"_token":"{{ csrf_token() }}", "sorttype":result}, url:BASE_URL+"/short_emp", success:function(data){ $("#test").html(data); } }) */ }); }); <input type="button" class="hold" value="Hold"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> En el código anterior, simplemente estoy tratando de publicar el valor del result a la vez, pero lo que sucede cuando hago clic por primera vez se ejecuta a la vez, pero cuando hago clic en el botón nuevamente, se ejecuta dos veces. Entonces, ¿cómo puedo resolver este problema?