Автор: Павел Грибов
Проблема получения значения из возврата функции (return) на JavaScript
Написал на днях чудную функцию:
1 2 3 4 5 6 7 8 9 10 11 12 |
function GetArrayEq(orgid){ $.get('controller/server/getjsonlisteq.php', { orgid: orgid }, function(e) { zx=JSON.parse(e); alert(zx.rows[0].id); // здесь работает!! return zx; } ); }; var arz=GetArrayEq($("#sel_orgid :selected").val()); alert(arz.rows[0].id); // А здесь не работает!! |
и долго вдумчиво смотрел грустными глазами, пытаясь понять, «А почему же она ничего не возвращает». Забыл,я воспитанник TurboPascal, что часть функций JavaScript, работает асинхронно. А конкретно здесь $.get() — асинхронная функция. Т.е. встречая её, интерпретатор выделяет под нее отдельный поток, а сам «идет дальше», по основному коду. Т.е чтоб получить результат выполнения функции , нам необходимо отловить окончание её выполнения. Таким образом данный код некорректен в корне,а его автор мудак.
Доступ к требуемому сеансу отклонен
Ситуация возникла при подключении по RDP протоколу к терминальному серверу Windows 2008 с Linux машины. Причем как при подключении с помощью freerdp (remmina) так и при помощи rdesktop. Тупое решение: удаляем папки .freerdp,.remmina,.rdesktop.
Новая звезда Ютуба баба Зоя и Валера
Альтернатива AllShare для телевизоров Samsung под Linux
Windows приложение для «расшаривания» мультимедиа с ПК на телевизор AllShare при ближайшем рассмотрении оказался кривой и медленно работающей реализацией DLNA протокола обмена. А так как я работаю в основном под Linux, принято было решение поставить в качестве DLNA сервера на ноутбуке minidlna. На Ubuntu ставится стандартно:
sudo apt-get install minidlna
Далее открываем конфигурационный файл /etc/minidlna.conf и правим строчки (у себя подставляете свои настройки):
- media_dir=V,/home/pavel/Video — где ищем видео файлы. Этих строчек может быть несколько
- db_dir=/home/pavel — где лежит база данных.
- inotify=yes — разрешить регулярно сканировать папку media_dir для поиска новых файлов
Запуск сервера:
minidlnad -d -f /etc/minidlna.conf
Полезно так-же пехнуть запуск этой строчкой в автозагрузку, чтоб руками не запускать.