JSON URI太长了?

时间:2017-05-16 14:47:42

标签: javascript jquery json ajax

我正在使用一个插件,我发现根据传递给它的数据生成一个组织结构图。该插件名为OrgChart。我试图粘贴我的数据的硬编码JSON对象以及通过POST AJAX调用来获取它。这两个实例都会导致浏览器错误为414 URI too Long

当我检查console > network标签时,它似乎正在尝试将JSON数据加载为GET请求?

以下是我正在使用的演示的链接。我们设置的唯一区别是图表中使用的数据量。

http://dabeng.github.io/OrgChart/ajax-datasource/

插件是否通常使用GET来提取JSON数据?我只是试图看看是否有任何方法可以调整此插件以使其工作,因为对于这样的插件应该期望大数据集。

修改 这就是我运行插件的方式。我有一个AJAX调用,从数据库中获取数据,然后将其传递给插件。它在第一个POST调用中获取数据,这是我的AJAX语句,但是看起来插件正试图通过URL接收该数据。 enter image description here

// On Ready
$(document).ready(function(){

     $.ajax({
        url: "api/fetchOrgChart",
        type: 'POST',
        cache: false,
        data: {
            QID: 'Q1234'
        },
        error: function(err) {
            alert(err.statusText);
        },
        success: function(data) {

            org = makeTree(data, 'root');

            // Render the org chart
            $('#chart-container').orgchart({
              'data' : JSON.stringify(org),
              'depth': 50,
              'nodeContent': 'title'
            });
        }

    });

});

// Creates our nested hierarchal array based on the manager id and employee id
function makeTree(data, parentId) {
  return data.reduce(function(r, e) {
    if (e.MgrQID == parentId) {
      var children = makeTree(data, e.QID);
      if (children.length) e.children = children
      r.push(e)
    }
    return r;
  }, [])
}

0 个答案:

没有答案