Результаты поиска
Как получить содержимое CKEDITOR в виде html
Пользуюсь редактором CKeditor. Как мне получить его контент в виде html. Помогите разобраться.
.
Как обновить страницу на Javascript
Напишите функцию обновления страницы на Javascript или Jquery? Заранее спасибо 
лучший способ сохранения данных в веб-службе .NET
У меня есть веб-служба, которая запрашивает данные из этого файла json, но я не хочу, чтобы веб-служба каждый раз обращалась к этому файлу. Я думаю, что, возможно, я могу хранить данные где-то еще (возможно, в памяти), чтобы веб-служба могла просто получить данные оттуда в следующий раз, когда она попытается запросить те же самые данные. Я вроде бы понимаю, что нужно сделать, но я просто не знаю, как это сделать на самом деле. Как мы сохраняем данные в веб-сервисе?
Обновление: оба предложения, кэширование и использование статических переменных, выглядят хорошо. Может быть, мне стоит использовать оба варианта, чтобы сначала посмотреть на один, а если его там нет, то использовать второй, если его там тоже нет, тогда я посмотрю на файл json.
Файл конфигурации приложения
Итак, я не хочу начинать здесь священную войну, но мы находимся в процессе консолидации того, как мы обрабатываем файлы конфигурации наших приложений, и мы изо всех сил пытаемся принять решение о наилучшем подходе. На данный момент каждое приложение, которое мы распространяем, использует свои собственные специальные конфигурационные файлы, будь то файлы свойств (ini style), XML или JSON (внутреннее использование только в данный момент!).
Большая часть нашего кода на данный момент является Java, поэтому мы смотрели на Apache Commons Config , но мы обнаружили, что он довольно многословен. Мы также посмотрели на XMLBeans,но похоже, что это очень много обмана. Я также чувствую, что меня подталкивают к формату XML, но мои клиенты и коллеги опасаются попробовать что-то другое. Я могу понять это с точки зрения клиента, все слышали о XML, но в конце концов, не следует ли использовать правильный инструмент для работы?
Какие форматы и библиотеки люди используют в производственных системах в наши дни, пытается ли кто-нибудь еще избежать налога на угловые скобки ?
Edit: действительно должно быть кроссплатформенное решение: Linux, Windows, Solaris и т. д. и выбор библиотеки, используемой для взаимодействия с конфигурационными файлами, так же важен, как и выбор формата.
Массивы массивов в Java
Это очень неприятно для меня... Я парень PHP, работающий в Java над проектом JSP. Я знаю, как сделать то, что я пытаюсь через слишком много кода и полное отсутствие изящества.
Я бы предпочел сделать все правильно. Вот такая ситуация:
Я пишу небольшой дисплей, чтобы показать клиентам, в какие дни они могут поливать свои газоны на основе их группы полива (ABCDE) и в какое время года это происходит. Наши сезоны выглядят так: Лето (от 5-1 до 8-31) Spring (от 3-1 до 4-30) Падение (от 9-1 до 10-31) Зима (от 11-1 до 2-28)
Примером может быть:
Если бы я был в группе А, здесь были бы мои разрешенные времена: Зима: только по понедельникам Spring: Вт, Чт, Сб Лето: В Любой День Осень: Вт, Чт, Сб
Если бы я писал это в PHP, я бы использовал такие массивы:
//M=Monday,t=Tuesday,T=Thursday.... etc
$schedule["A"]["Winter"]='M';
$schedule["A"]["Spring"]='tTS';
$schedule["A"]["Summer"]='Any';
$schedule["A"]["Fall"]='tTS';
$schedule["B"]["Winter"]='t';
Я мог бы сделать массивы дней (array ("Tuesday","Thursday","Saturday")) и т. д., Но это не обязательно для того, что я действительно пытаюсь выполнить.
Мне также нужно будет настроить массивы, чтобы определить, в каком сезоне я нахожусь:
$seasons["Summer"]["start"]=0501;
$seasons["Summer"]["end"]=0801;
Может ли кто-нибудь предложить действительно классный способ сделать это? У меня будет сегодняшняя дата и письмо группы. Мне нужно будет выйти из моей функции в день (M) или в ряд дней (tTS), (любой).
Как я могу рефакторинг HTML markup из моих файлов свойств?
Недавно я унаследовал интернационализированное и тяжелое для текста веб-приложение Struts 1.1. Многие из файлов JSP выглядят так:
<p>
<bean:message key="alert" />
</p>
и файлы свойств выглядят так:
messages.properties
alert=Please update your <a href="/address.do">address</a> and <a href="/contact.do">contact information</a>.
с соответствующими переводами на N других языках (messages_fr.properties и др.).
Проблемы:
- DRY нарушение -у меня есть N ссылок на мое Struts действие URLs вместо 1, что делает рефакторинг действия URLs подверженным ошибкам.
- Смешанные проблемы -мое приложение markup теперь находится не только в моих файлах JSP, что затрудняет веб-специалисту настройку markup (используя CSS и т. д.).
- Post-translation markup -всякий раз, когда я получаю недавно переведенный текст, я должен решить, что окружить
<a>...</a>markup. Легко для английского языка, но менее так для незнакомых языков.
Я рассмотрел возможность добавления заполнителей в файл сообщений, например:
alert=Please update your {0} and {1}.
но тогда слова "address" и "contact information" каким - то образом должны быть локализованы, обернуты markup и переданы в мой тег сообщения-и я не вижу простого способа сделать это.
Что я могу сделать, чтобы улучшить это?
Есть ли причины не использовать JSONP для AJA~X запросов?
Если вы создаете приложение AJA~Xy , есть ли какие-либо недостатки в использовании запросов/ответов JSONP , даже если вы не планируете использовать запросы cross-domain ?
Единственное, что я могу придумать, это то, что есть пара дополнительных байтов для оболочки обратного вызова...
Редактировать:
Я нашел это , что также предполагает security and error handling в качестве потенциальных проблем...
Там нет обработки ошибок.
script injectionлибо работает, либо нет. Если есть ошибка изinjection, она попадет на страницу, и за исключением обработчика ошибок с широким окном (плохо, плохо, очень плохо), вам нужно убедиться, что возвращаемое значение действительно наserver side.
Я не думаю, что error handling -это большая проблема... большинство из нас будет использовать библиотеку для создания JSON ... правильность моего ответа не является проблемой для этого вопроса.
и безопасность:
В интернете есть документы, которые могут помочь, но в качестве беглой проверки я бы проверил реферер в скрипте
server side.
похоже, что это потенциальная проблема с любым типом ответа... конечно, в сфере безопасности нет ничего уникального для JSONP ...?
Adobe AIR: обработка объектов JSON с сервера
У меня есть скрипт, который извлекает объекты с удаленного сервера через вызов Ajax. Сервер возвращает объекты в нотации JSON.
Однако, в Adobe AIR, существует ограничение на использование eval() по соображениям безопасности. Поэтому я могу получать ответы с удаленного сервера, но не могу превратить их обратно в объекты JavaScript. Есть ли обходной путь для этой проблемы? Я хотел бы использовать JSON для моих JavaScript объектов, так как он может быть использован почти сразу.
Примечание: Я понимаю последствия безопасности для форсирования проблемы, но я буду делать быструю разработку приложений для конкуренции, поэтому программа будет только быстрым прототипом и не будет использоваться для производственных целей. Тем не менее, было бы здорово, если бы была лучшая альтернатива тому, что я пытаюсь сделать сейчас
Обновление:
Спасибо Тео и jsight за их ответы;
Одна важная вещь, которую я узнал сегодня, заключается в том, что я действительно могу использовать библиотеки ActionScript, используя
<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>тег расширен на Adobe AIR. Проверьте ссылку Тео для получения более подробной информации!
Как установить кодировку в .getJSON jQuery
В моем веб-приложении я отправляю некоторые поля формы с помощью метода jQuery $.getJSON() . У меня возникли некоторые проблемы с кодировкой. Набор символов моего приложения- charset=ISO-8859-1, но я думаю, что эти поля представлены с UTF-8 .
Как я могу установить кодировку, используемую в вызовах $.getJSON ?
Какие библиотеки PL/SQL для автоматической генерации JSON вы рекомендуете?
Есть ли какие-нибудь хорошие библиотеки PL/SQL для JSON, с которыми вы работали и нашли их полезными?
В PL/SQL мне приходится утомительно передавать код возврата значений JSON в функции JavaScript. Я нашел одну библиотеку PL / SQL для автоматической генерации JSON,но она не делает точно все, что мне нужно. Например, я не мог расширить базовые функции в библиотеке, чтобы вернуть сложную древовидную структуру данных JSON, требуемую используемым мной компонентом дерева JavaScript.
Примечание:
Система, которая находится в производстве уже более 8 лет, была спроектирована так, чтобы использовать PL/SQL для CRUDs и большей части бизнес-логики. PL/SQL также генерирует 90% слоя представления (HTML/JavaScript), с помощью mod PL/SQL. другой 10% является отчетными данными, выполненными через Oracle Reports Builder.
Должен ли я делать JSPX вместо JSP?
Используя JDeveloper, я начал разрабатывать набор веб-страниц для рабочего проекта. Поскольку в то время я мало что знал о JDev, я побежал в Oracle, чтобы проследить за некоторыми учебниками. Учебники JDev рекомендовали делать JSPX вместо JSP, но на самом деле не объясняли, почему. Вы разрабатываете JSPX страниц? Почему вы решили сделать так? Каковы плюсы / минусы прохождения маршрута JSPX?
Как поддерживать правильное событие Javascript после использования cloneNode (true)
У меня есть элемент формы, который содержит несколько строк входных данных. Подумайте о каждой строке как об атрибутах нового объекта, который я хочу создать в своем веб-приложении. Кроме того, я хочу иметь возможность создавать несколько новых объектов в одном посте HTTP. Я использую встроенный метод Javascript cloneNode (true) для клонирования каждой строки. Проблема в том, что каждая входная строка также имеет ссылку удаления, прикрепленную к ее onclick-событию:
// prototype based
<div class="input-line">
<input .../>
<a href="#" onclick="$(this).up().remove();"> Remove </a>
</div>
При нажатии на ссылку удаления клонированной входной линии также удаляются все входные линии, которые были клонированы из того же объекта dom. Можно ли повторно привязать объект "this" к соответствующему тегу привязки после использования cloneNode (true) на указанном выше элементе DOM?
JSF 2: Как отобразить информационное сообщение после редиректа?
Есть страница с формой авторизации, после корректного заполнения пары login-password переходим на главную страницу сайта и отображаем информационное сообщение, что авторизация прошла успешно. Нужно заметить, что переход на главную страницу происходит redirect запросом (каким способом происходит редирект welcome?faces-redirect=true или <redirect/> не имеет значение).
Сообщение помещается в FacesContext следующим образом:
FacesContext facesContext = FacesContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_INFO, message, null);
facesContext.addMessage(null, facesMessage);
Проблема в том, что после редиректа <h:messages /> не показывает информационное сообщение. В то же время, если редирект не делать, а ограничиться одним POST запросом, то информационное сообщение отображается.
Пробовал активировать
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true)
, но этот механизм помогает отобразить сообщение, только на текущей странице, даже если мы на неё вернёмся позже, но на другой странице (по другому url-адресу) <h:messages /> не может достать сообщение.
Соответственно, вопрос — как отобразить информационное сообщение после редиректа?
Может где-нибудь нужно указать правильный scope для <h:messages /> или FacesMessage?
Проект крутиться на Glassfish 3, Java EE 6, JSF 2.
FacesContext facesContext = FacesContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_INFO, message, null);
facesContext.addMessage(null, facesMessage);
FacesContext.getCurrentInstance().getExternalContext().getFlash().setKeepMessages(true)
JQuery, JSON, iframe и кавычки вместе не работают?
Произвожу upload файла в iframe(по другому вроде никак). В качестве ответа генерирую JSON объект где одно из полей это строчка с html описывающим ошибку.
Вопрос: Как мне забрать этот ответ от сервера его не побив?
Когда использую .text() из JQuery все теги удаляются.
Когда использую .html() из JQuery он «исправляет» html и после этого не возможно сделать десериализацию JSON потому-что кавычки теряют экранирующий символ. получаем Invalid JSON.
ExtJS: драг-дроп из DataView в TreePanel?
Никак не могу разобраться, как сделать перетаскивание элемента DataView в TreePanel.
Два дня уже мучаюсь. Чтение доки и гугление до просветления не довели. Самое противное — осознавать, что делаться это должно легко, а я просто упускаю что-то важное.
Если у кого есть в наличии рабочий пример или пинок в нужную сторону — поделитесь, пожалуйста.
[maven] использование отсутствующей в репозиториях библиотеки
Доброго времени суток…
Хочу сделать на Java приложение с веб интерфейсом на основе JWT (http://www.webtoolkit.eu/jwt),
при этом в качестве системы сборки использовать maven. Но столкнулся с тем, что JWT в его репозиториях нету, поэтому вопрос — как можно добавить вручную библиотеку к проекту на maven? Если это имеет значение, то IDE — NetBeans 6.9.1
json_encode в PHP: разрастание данных
В PHP есть встроенные средства преобразования данных в json. Рассмотрим пример:
echo json_encode(iconv('cp1251', 'utf-8', 'тест'));
Он вернет "\ u0442\ u0435\ u0441\ u0442" (пробелы дабы не искушать парсер) — это 26 байтов, а вовсе не 10, как хотелось бы.
Как же так?
Алгоритм определения визуально скрытых HTMLDom элементов
Есть задача: по коду html-страницы программно определить список скрытых (не видимых глазом) html элементов.
Первое что приходит в голову: взять node.js + jquery (http://habrahabr.ru/blogs/javascript/104761/) и поиграть с псевдоселектором :visible, но есть сомнение, что в данном случае не будут учитываться css файлы.
Вопрос знатокам: можно ли научить данную свзяку учитывать css файлы и как это сделать?
PS. также буду благодарен другим способам решения задачи на базе linux.
Как заставить документы JSP(jspx) сохранять форматирование конечного HTML?
Документы JSP(те, что с синтаксисом XML и расширением .jspx) при генерации результирующего HTML удаляют всё форматирование. Вся html-разметка просто в строку пишется.
Как настроить так, что бы документы jspx сохраняли форматирование подобно простым JSP страничкам?
Javascript tree?
В общем, я работаю в составе команды над одним больший проектом на базе php и jquery. Так как разработка ведется в экстриме, в некоторых местах используются разные плагины для прорисовки дерева и нет единного апи для таких вещей. В связи с чем ищу один плагин, который бы помог все это дело унифицировать.
Требования:
Драг и дроп (использование ctrl, события)
Апи со стороны javascript для вызова перерисовки части дерева, добавления, изменения элемента
Встроенное контекстное меню и апи для него
На данный момент я склюняюсь вот к этой вещи www.jstree.com/demo
Если вы знаете варианты получше, или даже у вас припрятан silver bullet, вы мне очень поможете
Безопасно ли вставлять JSON в HTML
Безопасно ли вставлять JSON со строками, полученными от пользователя, непосредственно в код страницы через тег script? Нельзя ли при этом с помощью специальных html-последовательностей нарушить JSON, сделав XSS? JSON генерируется PHP-функцией json_encode.
Пример.
$queryData = json_encode(array('query' => isset($_GET['query']) ? $_GET['query'] : '', ...));
Шаблон страницы:
<script type="text/javascript">
<?php echo 'var queryData = ' . $queryData . ';' ?>
</script>
$queryData = json_encode(array('query' => isset($_GET['query']) ? $_GET['query'] : '', ...));<script type="text/javascript">
<?php echo 'var queryData = ' . $queryData . ';' ?>
</script>
ExtJS Сборник подсказок/Cheat Sheets
Подскажите, есть или сборник подсказок по ExtJS (методы, функции ...) что бы были собраны на одной странице в виде «простыни»?
Проблема с Ext.direct + Ext.tree
Никак не могу найти в документации к Ext.js и исходники тоже не помогают в такой проблеме:
Есть дерево (Ext.tree.treepanel).
В него грузятся данные с использованием Ext.direct, конфиг примерно такой:
...
loader: new Ext.tree.TreeLoader({
directFn: docs.getDocList
}),
...
Хочется отправлять ещё один параметр (в добавок к id_node, который отправляется автоматически), при подгрузке данных.
Возможно кто сталкивался с подобной проблемой?
loader: new Ext.tree.TreeLoader({
directFn: docs.getDocList
}),
...
Как сделать OR в MongoDB?
Чтобы выбрать поля по конъюнкции двух условий пишем просто:
db.blabla.find({ field1: value1, field2: value2 })
а как сделать, чтобы запрос был с дизъюнкцией? Чтобы выбирал всё, где field1 = value1 OR field2 = value2?
Может я очень плохо читаю маны, но бьюсь уже давно, обычно находил способ обойти (иногда через $in, если поле одно), но сейчас в тупике.
upd: Пока публиковал пост, нашел, что фичу $or добавили в 1.5.3. То есть в 1.4 способа нет? Как раньше-то жили?
Отправка логов с клиента на сервер
Есть клиентская часть(upd: живет в норм браузере (ff,gc,sf,op)) некоего web-application`а, которая очень активно логгирует свои действия (на данный момент лог собирается в textarea'ю; не знаю лучший ли вариант, может еще и здесь что нибудь подскажут).
Хочется иметь эти логи на сервере. Так как лог большой, то было бы неплохо заархивировать все это дело и отправить на сервер.
возможно ли это? если да — то как? Может есть где-нибудь пример, или ссылка на док…
Thanks in advance!
upd:
$("textarea_with_log").value += new_log_string;
клиент «знает» когда нужно остановить логгирование и инициировать процессинг лога. Проблемы с завершением/выключением клиентской части/браузера «можно считать» что нет
Редактор с подсветкой для JSON
Подскажите какой-нибудь редактор, в котором удобно просматривать JSON.
Под «удобно» я имею в виду:
1) Автоматическая разбивка и отображение в виде иерархии (даже если я открыл файл, где все записано в одну строку).
2) Подсветка (хотя бы минимальная, скобочки там).
Есть плагин для Лисы, но хотел бы использовать standalone решение или хотя бы web-тулзу.
mysql_real_escape_string vs mysql_escape_string
Согласно документации, стоит использовать только функцию mysql_real_escape_string.
Насколько я понимаю, это связано в основном с применением юникода и действительно оправдано.
Вопрос: насколько часто ошибается mysql_escape_string и можно ли в языках с нативной поддержкой юникода пользовать своей реализацией вроде:
/**
* Escape string for mysql. Don't use native function,
* because it doesn't work without connect.
*/
exports.escapeStr = function(str) {
return str.replace(/[\\"']/g, "\\$&").replace(/[\n]/g, "\\n")
.replace(/[\r]/g, "\\r").replace(/\x00/g, "\\0");
};
UPD: Вышеприведённый код не полный, в нём присутствуют не все символы, которые нужно экранировать. Давайте будем исходить из того, что replace для \b, \t, \Z, _, % также присутствуют:
exports.escapeStr = function(str) {
return str.replace(/[\\"']/g, "\\$&").replace(/\n/g, "\\n")
.replace(/\r/g, "\\r").replace(/\x00/g, "\\0")
.replace(/\b/g, "\\b").replace(/\t/g, "\\t")
.replace(/\x32/g, "\\Z") // \Z == ASCII 26
.replace(/_/g, "\\_").replace(/%/g, "\\%");
};
/**
* Escape string for mysql. Don't use native function,
* because it doesn't work without connect.
*/
exports.escapeStr = function(str) {
return str.replace(/[\\"']/g, "\\$&").replace(/[\n]/g, "\\n")
.replace(/[\r]/g, "\\r").replace(/\x00/g, "\\0");
};exports.escapeStr = function(str) {
return str.replace(/[\\"']/g, "\\$&").replace(/\n/g, "\\n")
.replace(/\r/g, "\\r").replace(/\x00/g, "\\0")
.replace(/\b/g, "\\b").replace(/\t/g, "\\t")
.replace(/\x32/g, "\\Z") // \Z == ASCII 26
.replace(/_/g, "\\_").replace(/%/g, "\\%");
};
JSON не работает в PHP?
Здравствуйте, уважаемое хабрасообщество.
У меня возникла проблема, очень надеюсь, что нам ее удастся решить.
А проблема заключается в том, что функции json_encode() и json_decode() у меня на хостинге не работают.
При обычном использовании возникает ошибка:
Fatal error: Call to undefined function json_encode() in ***.php
При использовании хелпера для Code Igniter, возникает ошибка:
Message: Undefined variable: json
Filename: helpers/json_helper.php
Line Number: 53
Fatal error: Call to a member function encode() on a non-object in ...\system\application\helpers\json_helper.php on line 53
Filename: helpers/json_helper.php
Line Number: 53
Fatal error: Call to a member function encode() on a non-object in ...\system\application\helpers\json_helper.php on line 53
python, json
Вопрос такой, получаю json от google translate а он не хочет парситься.
Что делаю не так?
res = urllib2.urlopen(request).read()
data = json.loads(res)
выдает следующее
Traceback (most recent call last):
File "./translate.py", line 27, in data = json.loads(res)
File "/usr/lib/python2.6/json/__init__.py", line 307, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.6/json/decoder.py", line 319, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.6/json/decoder.py", line 336, in raw_decode
obj, end = self._scanner.iterscan(s, **kw).next()
File "/usr/lib/python2.6/json/scanner.py", line 55, in iterscan
rval, next_pos = action(m, context)
File "/usr/lib/python2.6/json/decoder.py", line 219, in JSONArray
raise ValueError(errmsg("Expecting object", s, end))
ValueError: Expecting object: line 1 column 158 (char 158)
если сделать print(res) то выводит:
[[["привет","hi","privet",""]],[["abbreviation",["Гавайи"]],["interjection",["привет","эй","ну","салют","здор `ово"]]],"en",,[["привет",[5],1,,1000,0,1,0]],[["hi",4,,,""],["hi",5,[["привет",1000,1,]],[[0,2]],"hi"]],,,,21]
data = json.loads(res)
File "./translate.py", line 27, in data = json.loads(res)
File "/usr/lib/python2.6/json/__init__.py", line 307, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.6/json/decoder.py", line 319, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.6/json/decoder.py", line 336, in raw_decode
obj, end = self._scanner.iterscan(s, **kw).next()
File "/usr/lib/python2.6/json/scanner.py", line 55, in iterscan
rval, next_pos = action(m, context)
File "/usr/lib/python2.6/json/decoder.py", line 219, in JSONArray
raise ValueError(errmsg("Expecting object", s, end))
ValueError: Expecting object: line 1 column 158 (char 158)
если сделать print(res) то выводит:
[[["привет","hi","privet",""]],[["abbreviation",["Гавайи"]],["interjection",["привет","эй","ну","салют","здор `ово"]]],"en",,[["привет",[5],1,,1000,0,1,0]],[["hi",4,,,""],["hi",5,[["привет",1000,1,]],[[0,2]],"hi"]],,,,21]
Node.js (или другие асинхронные фреймворки): А как отлавливать ошибки?
Вот такой вопрос. Может быть мой задеревенелый синхронный мозг просто не видит решения, которое лежит на поверхности. Но я не понимаю, как обрабатывать ошибки при асинхронном подходе, как выдавать пользователю 500-страницу. Ведь как устроен привычный синхронный запрос (схематично):
try {
responce = (function request(req) {
var user = auth.getUser(req);
if (user.auth) {
var data = db.getData();
if (data) {
return new Responce(template.render(data));
}
}
return error404;
})(req);
} catch(e) {
show500(e);
}
Все очень надежно, контроллер обязан возвратить ответ, любые ошибки, не отловленные внутри request, отлавливаются снаружи и выдают пользователю красивую страничку.
Что же при асинхронном подходе node.js?
try {
(function request(req, res) {
auth.getUser(req, function(user) {
if ( ! user.auth) {
return res.error404();
}
db.getData(function(data) {
if ( ! data) {
return res.error404();
}
res.write(template.render(data));
});
});
})(req, res);
} catch(e) {
res.show500(e);
}
И вот представте, что где-то в user.auth происходит исключение. Что произойдет? А ничего, function(user) прекратит выполнение, ответ обработать некому, соединение с браузером останется висеть до таймаута. Даже поставив где-то глобальный обработчик ошибок, не удастся вернуть пользователю ответ, потому что в самом объекте исключения нет доступа к объектам запроса и ответа.
Неужели, единственный выход ловить исключения вручную на каждом асинхронном вызове?
try {
(function request(req, res) {
auth.getUser(req, function(user) {
try {
if ( ! user.auth) {
return res.error404();
}
db.getData(function(data) {
try {
if ( ! data) {
return res.error404();
}
res.write(template.render(data));
} catch(e) {
res.show500(e);
}
});
} catch(e) {
res.show500(e);
}
});
})(req, res);
} catch(e) {
res.show500(e);
}
try {
responce = (function request(req) {
var user = auth.getUser(req);
if (user.auth) {
var data = db.getData();
if (data) {
return new Responce(template.render(data));
}
}
return error404;
})(req);
} catch(e) {
show500(e);
}try {
(function request(req, res) {
auth.getUser(req, function(user) {
if ( ! user.auth) {
return res.error404();
}
db.getData(function(data) {
if ( ! data) {
return res.error404();
}
res.write(template.render(data));
});
});
})(req, res);
} catch(e) {
res.show500(e);
}try {
(function request(req, res) {
auth.getUser(req, function(user) {
try {
if ( ! user.auth) {
return res.error404();
}
db.getData(function(data) {
try {
if ( ! data) {
return res.error404();
}
res.write(template.render(data));
} catch(e) {
res.show500(e);
}
});
} catch(e) {
res.show500(e);
}
});
})(req, res);
} catch(e) {
res.show500(e);
}