Я пытаюсь заставить работать jStree (элемент управления jQuery tree) на моей странице ASP.NET (C #).Я использую службу WCF для возврата тестовой строки JSON.
Открытие URL-адреса службы WCF в браузере работает нормально - если перейти по URL-адресу (http://localhost/website/GetTree), я получаюJSON (выглядит так же, как открытие XML в браузере, с подсветкой синтаксиса и разборными вкладками)
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">{"attr": { "id": 2, "rel": "default" }, "data": "A node", "children": [ { "data": "Child 1", "attr": { "id": 43, "rel": "document" } }, {"data": "Child 2", "attr": { "id": 25, "rel": "document"} } ] }</string>
Само Jstree работает нормально - если я помещаю тот же JSON в «вручную» вмой документ. вот так:
"json_data": {
"data":
[{
"attr": { "id": 2, "rel": "default" },
"data": "A node",
"children":
[{
"data": "Child 1", "attr": { "id": 43, "rel": "document" }
},{
"data": "Child 2", "attr": { "id": 25, "rel": "document"}
}]},{
"attr": { "id": "li.node.id", "rel": "document" },
"data": {
"title": "Long format demo",
"attr": { "href": "#" }
}}]},
Я получаю дерево, в котором появляются эти узлы.
Но, комбинируя два:
"json_data": {
"ajax": {
"url": "GetTree",
"data": function (n) {
return {
};
}
}
},
...fails. Jstree отображается как просто слово «загрузка ...» и анимированный gif загрузки. И оно делает попадание в точку останова внутри метода службы WCF (как при просмотре
A: Идея, где я ошибся?
B: Идея Как я узнаю , что не так?, и я не вижу сообщений об ошибках.
Спасибо.
Обновление: решено
Спасибо Микаэлю ЭлиЧтобы указать, что мой сервис должен возвращать XML, а не JSON.
Код службы WCF:
// this responseformat bit below fixed it
[WebGet(UriTemplate = "GetTesto", ResponseFormat = WebMessageFormat.Json)]
[OperationContract]
public Testo GetTesto()
{
return new Testo();
}