2014-06-24 79 views
1

我遇到了fancytree問題。 我有一個aspx頁面,在代碼隱藏方面有一個web方法。Fancytree未加載ajax請求

我想用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我不能填充樹!

在此先感謝! 關心!

回答

4

對於任何感興趣的人... fancytree發出的ajax請求默認都是「GET」請求。 我添加了如下所示的ajax選項,現在問題已解決。

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

問候!