Javascript jsTree AJAX不调用MVC控制器

Javascript jsTree AJAX不调用MVC控制器,javascript,jquery,asp.net-mvc,asp.net-mvc-4,jstree,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 4,Jstree,我正在使用带有ASP.NETMVC4的jsTree插件构建一棵树。在我详细阐述之前,以下是我的代码: HTML: <div id="MainTree"></div> <div onclick="$load();">Load Tree</div> $load = function(){ $('#MainTree').jstree({ "json_data": { "ajax": {

我正在使用带有ASP.NETMVC4的jsTree插件构建一棵树。在我详细阐述之前,以下是我的代码:

HTML:

<div id="MainTree"></div>
<div onclick="$load();">Load Tree</div>
$load = function(){
    $('#MainTree').jstree({
        "json_data": {
            "ajax": {
                "url": "/Home/GetTreeData",
                "type": "POST",
                "dataType": "json",
                "contentType": "application/json charset=utf-8"
            }
        },
        "themes": {
            "theme": "default",
            "dots": false,
            "icons": true,
            "url": "/content/themes/default/style.css"
        },

        "plugins": ["themes", "json_data", "dnd", "contextmenu", "ui", "crrm"]

    });
}
[HttpPost]
public JsonResult GetTreeData()
{
   JsTreeModel rootNode = new JsTreeModel(); // Breakpoint here, never triggered
   rootNode.attr = new JsTreeAttribute();
   rootNode.data = "Root";
   string rootPath = "Test";
   rootNode.attr.id = rootPath;

   JsTreeModel t1 = new JsTreeModel();
   t1.attr.id = "1";
   JsTreeModel t2 = new JsTreeModel();
   t2.attr.id = "2";
   JsTreeModel t3 = new JsTreeModel();
   t3.attr.id = "3";
   rootNode.children.Add(t1);
   rootNode.children.Add(t2);
   rootNode.children.Add(t3);

   return Json(rootNode);
}
控制器:

<div id="MainTree"></div>
<div onclick="$load();">Load Tree</div>
$load = function(){
    $('#MainTree').jstree({
        "json_data": {
            "ajax": {
                "url": "/Home/GetTreeData",
                "type": "POST",
                "dataType": "json",
                "contentType": "application/json charset=utf-8"
            }
        },
        "themes": {
            "theme": "default",
            "dots": false,
            "icons": true,
            "url": "/content/themes/default/style.css"
        },

        "plugins": ["themes", "json_data", "dnd", "contextmenu", "ui", "crrm"]

    });
}
[HttpPost]
public JsonResult GetTreeData()
{
   JsTreeModel rootNode = new JsTreeModel(); // Breakpoint here, never triggered
   rootNode.attr = new JsTreeAttribute();
   rootNode.data = "Root";
   string rootPath = "Test";
   rootNode.attr.id = rootPath;

   JsTreeModel t1 = new JsTreeModel();
   t1.attr.id = "1";
   JsTreeModel t2 = new JsTreeModel();
   t2.attr.id = "2";
   JsTreeModel t3 = new JsTreeModel();
   t3.attr.id = "3";
   rootNode.children.Add(t1);
   rootNode.children.Add(t2);
   rootNode.children.Add(t3);

   return Json(rootNode);
}
当我点击“加载树”按钮时,
$Load()
被触发,并且在Firefox调试中运行,不会抛出错误。树
从以下位置更改:

<div id="MainTree"></div>


    我在控制器中放置了一个断点,并在注释中注明,该断点永远不会被触发;i、 e.似乎从未向控制员打过电话。My
    HomeController.cs
    没有语法错误


    我在这里遗漏了什么吗?

    我会自己回答这个问题,而不是把它当作孤儿

    这是我发现的使用jsTree创建树的最简单方法:

    <div id="divtree">
            <ul id="tree">
                <li>
                    Subfolder 1
                    <ul id="tree">
                        <li>Pub 1</li>
                        <li>Pub 2</li>
                        <li>Pub 3</li>
                    </ul>
                </li>
    
                <li> 
                    SubFolder 2
                    <ul id="tree">
                        <li>Pub 1</li>
                        <li>Pub 2</li>
                    </ul>
                </li>
            </ul>
        </div>
    
    <script type="text/javascript">
        $(function(){
            $("#divtree").jstree();
        });
        </script>
    
    
    
    • 子文件夹1
      • 酒吧1
      • 酒吧2
      • 酒吧3
    • 子文件夹2
      • 酒吧1
      • 酒吧2
    $(函数(){ $(“#divtree”).jstree(); });