Getting data from the server via JSON callback and parsing the data to HTML
The code isn't bad. I think your taking the wrong approach though. Rendering HTML from JavaScript is ugly and as you mentioned, hard to maintain. I'd recommend looking into a client side templating solution such as Handlebars, Mustache, Dust, etc..

This will allow you to write templates rather than appending html to a variable. For example, in handlebars you could do something like:

&lt;table class="table text-left" width="100"&gt;
    {{#each eventsData}}
       &lt;tr....
    {{/each}}
&lt;/table&gt;


Handlebars will then take the template and data and give you your HTML, which you can then insert into another element.