Fancytree没有加载ajax请求

时间:2014-06-24 19:09:05

标签: c# javascript jquery ajax fancytree

我遇到了fancytree的问题。 我有一个aspx页面,在代码隐藏上有一个webmethod。

我试图用ajax调用初始化树,但由于某种原因它看起来ajax调用没有到达那里。 这是我初始化树的javascript代码:

<script type="text/javascript">
    $(function () {
        var DT = $.ui.fancytree;
        var tree = "";
        $.ui.fancytree.debug("Using fancytree " + $.ui.fancytree.version);

        /* Load tree from Ajax JSON
        */
        $("#tree2").fancytree({
            source: {
                url: "tree.aspx/getTreeData"
            }
        });

    });
</script>    

这是我的代码隐藏webmethod:

namespace TreeGen
{
public partial class tree : System.Web.UI.Page
{

    [WebMethod]
    [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json, XmlSerializeString = false)]
    public static List<Curso> getTreeData()
    {
        JavaScriptSerializer TheSerializer = new JavaScriptSerializer();

        CourseSerializer course = new CourseSerializer();
        course.children = new List<Curso>()
        {
            new Curso(){
                key = "1",
                title = "aaaa",
            }
        };
        List<CourseSerializer> courses = new List<CourseSerializer>() { course };
        string TheJson = TheSerializer.Serialize(course.children);
        Console.WriteLine(TheJson);

        return course.children;
    }
}
}

我做错了什么? 我试图向webmethod发出一个ajax请求,我能够检索json字符串。 但是当我使用fancytree时,我无法填充这棵树!

提前致谢! 此致!

1 个答案:

答案 0 :(得分:4)

对任何有兴趣的人... fancytree提出的ajax请求都是&#34; GET&#34;默认情况下请求。 我添加了如下所示的ajax选项,现在问题已经解决了。

$('#tree2').fancytree({
    ajax: { type: "POST", contentType: "application/json" },
    source: {
        url: "/tree.aspx/getTreeData"
    }
});

问候!