JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.js"></script>
<script src="https://raw.github.com/SteveSanderson/knockout.mapping/master/build/output/knockout.mapping-latest.js"></script>
<script src="http://jquery-json.googlecode.com/files/jquery.json-2.3.min.js"></script>
<a href="#">Append</a>
<ul>
    
</ul>

JavaScript

// Sample JSON to return for initialization; 2 second delay
var data = {
    json: $.toJSON({"somedata": "some data"}),
    delay: 1
}
    
$('a').click(function() {
    var anchor = $(this);
    if (anchor.data("disabled")) {
        return false;
    }
        
    anchor.data("disabled", "disabled");
        

    // Use JSFiddle echo to simulate an AJAX service
    $.ajax({ url:"/echo/json/", data:data, type:"POST",
        success:function(data)
        {
             $('ul').append('<li>' + data.somedata + '</li>');
             anchor.removeData("disabled")
        }
    });
        
});