我正在将 node
与 express
一起使用,我希望服务器发送访问对象。
例如
服务器端:
router.get('/some_page/', (req, res) => {
res.render('some_page', {
data: {"somevar1":"somevalue", "somevar2":"somevalue2"}
});
});
客户端javascript:
var objSentFromSrv = ??? // here i want this object and then perform some action on it
这可能/合法吗?
编辑:
我正在使用 handlebars
作为模板引擎。
想通了。
function middlewareAppendingLocals(req, res, next) {
res.locals.layoutV = myValue;
next();
}
router.post('/page/', middlewareAppendingLocals, (req, res) => {
res.render('page_to_render');
});
在我的例子中,这个变量来自数据库,我根据从其他页面发布的 id 给它。但我仍然如何从 javascript 访问它,而不仅仅是形成 .hbs 布局文件。
然后 page_to_render 有,我可以给你 handlebars {{}} 来得到它。
最佳答案
您需要像这样将对象编码为 JSON:
router.get('/some_page/', (req, res) => {
res.send(JSON.stringify({
data: {"somevar1":"somevalue", "somevar2":"somevalue2"}
}));
});
然后在前端使用AJAX,使用jQuery就可以了
$.get('/some_page/', function(data) {
var objSentFromSrv = JSON.parse(data);
});
或更短:
$.getJSON('/some_page/', function(data) {
var objSentFromSrv = data;
});
关于javascript - 如何在客户端访问服务器设置的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40951319/