Para evitar que el evento click se ejecute dos veces en javascript hay que usar one de jquery en el listener del evento. Os pongo un ejemplo sencillito:
$(".like").one("click",function(){
var id = this.id;
$.ajax({
url: "megusta.php",
type: "POST",
data: {id:id},
dataType: "json",
success:function(data){
var likes = data["likes"];
var text = data["text"];
$("#likes_" + id).text(likes);
$("#" + id).html(text);
}
});
});