У меня есть приложение, работающее в Node.js с Express, и я хотел динамически изменить параметры выбора объекта с помощью jquery. На самом деле это не большая проблема, но у меня проблемы с использованием параметров res.render (которые являются документами mongoose) в теге script. Я использую их без каких-либо проблем в html (на самом деле jade), но в теге script я получаю проблему, когда ObjectId не является строкой.
Это фрагмент кода:
На сервере:
router.get("/new", function(req, res){
res.render("session/documentos/new",
{
services: res.locals.services
});
});
На виду
block content
div
h1(class="text-center") New document
form(id="newDoc" action="/session/documentos" method="POST")
div(class="tab") Service:
div(class="form-group")
select(class="form-control" name="svc" id="svc")
option(value="undefined" disabled selected) Choose one
for service in services
option(value=service._id)=service.name
script.
$(document).ready(function() {
var sessLenght = 0;
var selectedSvc = #{services};
$("#svc").change(function(){
console.log("Service changed: " + selectedSvc);
});
});
И это ошибка, которую я получаю:
Ошибка консоли
А в источниках:
Ошибка источника в ObjectId
Так что я могу без проблем использовать коллекцию документов "services", но при попытке использовать их в теге script у меня возникают проблемы с элементом ObjectId.
Я думал, что одним из вариантов будет преобразование в строковый ObjectId при запросе к базе данных, но я думаю, что может быть более чистое решение для этого. Какой может быть лучший способ решить проблему?
Любые мысли приветствуются! Заранее спасибо