Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2013, 21:54   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
Счастье Построить дерево из JSON/XML

Доброго времени суток!

Пишу мост между моим приложением для ПК и браузерными скриптами.


С сервера приходит некое JSON дерево:
Код:
{
  Name:""
  Desc:""
  UID:""
   Child:[
    {
        Name:""
        Desc:""
        UID:""
        Child:[
             {

             },
           ....
    },
  ....
]
}
Средствами XmlHttpRequest.

Какие готовые библиотеки можете порекомендовать для построения дерева из этих данных?

Намечаются операции:
Добавления элемента, т.е. каждый узел имеет ID, который соотв. ID узла в дереве на сервере.
/MakeItem?assignTo="<ID из выбранного пользователем узла в браузере>"&name="Имя нового узла"

т.е. надо получать выбранный, пользователем, элемент, перед отправкой, по нажатию кнопки.

Пробовал так:
Код HTML:
       <!--HTML TREE-->
       <div id="categoryTree" style="width: auto; height: auto; overflow: auto;">
       </div>
       <!--Build tree-->

<script type="text/javascript">
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
};

function GetJSTree(el) {
 var xhr = getXmlHttp();
 xhr.open('GET', 'http://127.0.0.1:2013/List', false);
 xhr.send(null);
 el.innerHTML = 'Создание папки....';
 
 if(xhr.status == 200) {
 var answ = xhr.ResponseText;
     $('#categoryTree').jstree(
		{
			themes: {
				theme: 'default', // название темы, для смены темы поменять url недостаточно, нужно ещё и сменить название (т.к. названия стилей содержат в себе его)
				url: './default/style.css' // URL к файлу стилей (рядом должны лежать картинки, как в архиве с плагином)
			},
			json_data: { 
				data: [answ]
			},
			// тут мы перечисляем все плагины, которые используем
			plugins: [ 'themes', 'json_data', 'ui' ]
		}
	);} else {alert('ERROR!');};
};
</script>
<div id="ControlPnl">
  <button onclick="GetJSTree(this);">Get JS Tree</button>
</div>
С помощью jsTree, но что-то не работает. Мне выдает браузер:
Код:
XMLHttpRequest cannot load http://127.0.0.1:2013/List. Origin null is not allowed by Access-Control-Allow-Origin.
Uncaught NetworkError: A network error occurred.

Последний раз редактировалось Человек_Борща; 27.10.2013 в 21:59.
Человек_Борща вне форума Ответить с цитированием
Старый 29.10.2013, 17:55   #2
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Браузер вам выдаёт исключение кроссдоменного запроса. Либо отправляйте в заголовке ответа сервера разрешение на кроссдоменный запрос, либо используйте JSONP.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 06.11.2013, 16:18   #3
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

http://en.wikipedia.org/wiki/Same-origin_policy
http://ru.wikipedia.org/wiki/%D0%9F%...B5%D0%BD%D0%B0

а еще название темы совершенно не отражает действительной проблемы. Сами себя в заблуждение вводите.
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 22.11.2013, 15:47   #4
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Вопрос по сабжу.
Имеются некоторый набор данных который необходимо отобразить в виде дерева с динамической подгрузкой узлов (так как дерево может быть очень сильно большим).
Серверная часть реализуется на Java.

Вариантов реализаций нашел множество, но так как с аглицким не очень сильно дружу, то не очень понятно как реализовать. Понятных примеров не нашел.

Кто, чего может подсказать? Возможно кто-то где-то встречал внятные статьи на русском языке или примеры.
astecenko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пишу скрипты на JS, PHP в паре с XML, JSON StagnantIce Фриланс 0 17.06.2011 13:57
C++ Построить и реализовать унарное дерево Sauber584 Помощь студентам 1 28.10.2010 00:27
Построить дерево в VirtualDrawTree ikot Компоненты Delphi 1 17.10.2009 01:08
построить дерево,помогие пожалуйста olesyaA Помощь студентам 13 30.05.2009 19:41
Построить дерево в ширину JET_FLASH Помощь студентам 3 06.02.2008 08:18