因此,我不确定这里发生了什么,以及为什么要在JSON键名称中输入一段时间。从JSON响应中的键名称中删除句号
我想要做的事情的概述是通过ejs变量传递json响应到页面模板中,并从个别字段中获取数据。
JSON响应看起来是这样的:
这是一个从prismic.io。 (打开对象支架被切断,数据是主对象的子对象)。
当我通过EJS
<%= product.data.product.imgone2.value.main.url %>
注入我得到这样一个错误:
Cannot read property 'imgone2' of undefined
哪,为什么会prismic做到这一点?
有没有办法解决与EJS内联?
如果不是,我该如何解析JavaScript函数的JSON响应来移除它?
如果你需要我的路线:
router.get('/product/:slug', function(req, res) {
//route params
var slug = req.params.slug;
var productResp; //scope up api response to pass to render()
console.log(slug);
//api call
Prismic.api("https://prismic.io/api").then(function(api) {
return api.getByUID('product' , slug);
}).then(function(response) {
res.render('product-template', {
product: response,
})
}, function(err) {
console.log("Something went wrong: ", err);
});
});
谢谢!
您是否尝试过'product.data [“product.imgone2”] .value.main.url'? – Hamms
括号符号FTW! – epascarello