fancytree单击上发布ajax

时间:2018-09-10 21:22:41

标签: jquery ajax fancytree

我正在使用fancytree从mysql数据源创建树结构...

https://github.com/mar10/fancytree/wiki

我想在更改此结构时更新数据库,这是我的代码

$("#tree").on("fancytreeclick", function(event, data){

  var nodes = $('#tree').fancytree("getTree").getSelectedNodes();
  console.log(nodes);

  $.ajax({
    type : 'POST',
    url  : 'call/myclass.php',
    data : {
      selected : nodes,
      tipo : "update",
    },
    success :  function(data) {
      // nothing
    },

    error: function(data) { 
      console.log(data);
    },
  });

});

但我收到此错误

Uncaught RangeError: Maximum call stack size exceeded
at Function.isArray (<anonymous>)

为什么呢?

1 个答案:

答案 0 :(得分:0)

方法

tree.getSelectedNodes()

返回FancytreeNode对象的数组。您需要将其转换为普通对象,以便$.ajax函数可以对其进行序列化。

例如,遍历数组并使用node.toDict()