$=require('jQuery') приводит к "окну не определено". Что делать?
Я возился с функцией 'list' в кушетке, связанной со связанными документами. Документы и связанные с ними "соседи" просматриваются. Работает все отлично.
Итак, я подумал, что немного расширю его и позволю проверять некоторые репрезентативные "соседние" данные, а не _id:xxx..
Я думал о том, чтобы использовать jQuery.ajax() и передать ему _id: xxx, чтобы вернуть данные, которые я хотел, а затем разрешить функции списка посылать это для проверки.
В верхней части 'lib / lists.js' я размещаю $=require('jQuery')
и в kanso.json пакет jquery включен и "установлен" перед отправкой, но это только приводит к window not defined
,
ХОРОШО. Возможно, в файле lists.js не существует какого-либо объекта-окна, но что тогда делать? Должен ли я написать XHRHttpRequest непосредственно в javascript или позволить результату lists.js на веб-странице, где jQuery может быть вызван в <script>jQuery code here..</script>
и найдите нужные элементы, прочитайте _id: xxx, получите нужные данные и замените _id: xxx требуемыми данными?
Оба решения кажутся скорее "пиши больше, не делай так много на самом деле". Предложения?
2 ответа
Я столкнулся с тем же самым....
Мой обходной путь состоял в том, чтобы переместить инструкцию jquery Requires на мою страницу index.html и сократить определение требуемого значения с
var db = require('db').current();
в
var db = require('db');
Это сработало, но я не говорю, что это идиоматично.
Ответьте, насколько я понял: ни jQuery, ни XHR, ни побочные эффекты в этом направлении в функциях _list.
Мое решение: написать отдельный код jQuery, запрашивающий представление, а затем с полученными _id:s связать документ сделать отдельные запросы для данных из связанных документов.
Отказ от ответственности: я не смог сделать $.couch.db().openDoc()
вернуть любой документ. Вместо этого я использовал $.get()
с большим успехом.