架设后台数据服务,通过数据库,Web服务(servlet, php, web socket, asp.net ...)技术提供后台数据服务,转换成XML,JSON,文本或者二进制格式相应到前端,前端通过web通讯技术(ajax, web socket ...)获取数据,交给JavaScript引擎来处理。

后台数据

通常使用JSON数据格式,比如下面./data-server链接的内容

{"nodes":[{"name": "A", "x": -100, "y": -50, "id": 1}, {"name": "B", "id": 2}], "edges": [{"name": "Edge", "from":1, "to":2}]}

请求数据

可通过AJAX或者Web socket请求后台数据,通常使用AJAX

AJAX获取后台数据示例

function request(url, params, callback, callbackError) {
    try {
        var req = new XMLHttpRequest();
        req.open('GET', encodeURI(url));
        req.onreadystatechange = function(e) {
            if (req.readyState != 4) {
                return;
            }
            if (200 == req.status) {
                var code = req.responseText;
                if (code && callback) {
                    callback(req.responseText);
                }
                return;
            }else{
                if (callbackError) {
                    callbackError();
                }
            }
        }
        req.send(params);
    } catch (error) {
        if (callbackError) {
            callbackError();
        }
    }
}

使用

request("./data-server", "", onDataCollected);
Icon

Web socket技术对Web服务器和浏览器都有要求,尚未普遍支持和应用