JSFiddle - React, Tailwind, and code Playground

by Darby Rathbone

JavaScript

var $ = {
    getJSON: function (url, params, callbackFuncName, callback) {
        var paramsUrl = "",
            jsonp = this.getQueryString(url)[callbackFuncName];
        for (var key in params) {
            paramsUrl += "&" + key + "=" + encodeURIComponent(params[key]);
        }
        url += paramsUrl;
        window[jsonp] = function (data) {
            window[jsonp] = undefined;
            try {
                delete window[jsonp];
            } catch (e) {}

            if (head) {
                head.removeChild(script);
            }
            callback(data);
        };

        var head = document.getElementsByTagName('head')[0];
        var script = document.createElement('script');
        script.charset = "UTF-8";
        script.src = url;
        head.appendChild(script);
        return true;
    },
    getQueryString: function (url) {
        if (url) {
            url = url.split("?")[1];
        }
        var result = {}, queryString = url || location.search.substring(1),
            re = /([^&=]+)=([^&]*)/g,
            m;
        while (m = re.exec(queryString)) {
            result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
        }
        return result;
    }
};

var url = "http://image2datauri.jit.su?callback=?";
var params = {
    "URI": "http://cuteoverload.files.wordpress.com/2013/12/1477970_224520424339006_1642064838_n.jpg?w=560&h=420"
};
var value1 = $.getJSON(url, params, "callback", function callback(data) {
    document.body.appendChild(data);
});