Javascript 将ejs变量分配给js后无法读取属性
无论出于何种原因,此代码都会在if语句中返回一个类型错误。无法读取未定义的属性product.thumbgallery1Javascript 将ejs变量分配给js后无法读取属性,javascript,json,express,ejs,Javascript,Json,Express,Ejs,无论出于何种原因,此代码都会在if语句中返回一个类型错误。无法读取未定义的属性product.thumbgallery1 var urlArray= []; var product = '<%- product %>'; console.dir(product); for (var count = 1; count < 6; count++) { var stringCount = c
var urlArray= [];
var product = '<%- product %>';
console.dir(product);
for (var count = 1; count < 6; count++) {
var stringCount = count.toString();
if ( typeof product.data["product.thumbgallery" + stringCount].value.main.url === 'undefined' ) {
null
} else {
urlArray.push( product.data['product.thumbgallery' + stringCount].value.main.url )
}
}
var urlArray=[];
var乘积=“”;
console.dir(产品);
对于(变量计数=1;计数<6;计数++){
var stringCount=count.toString();
if(type of product.data[“product.thumbgallery”+stringCount].value.main.url===‘未定义’){
无效的
}否则{
URLARY.push(product.data['product.thumbgallery'+stringCount].value.main.url)
}
}
有趣的是,这段代码可以工作:
var lol = '<%- product.data["product.thumbgallery1"].value.main.url %>';
console.log(lol);
var-lol='';
控制台日志(lol);
这是怎么回事?要将对象传递到ejs,您需要使用:
var乘积=;
您能为我们提供产品的JSON吗?
var product = <%- JSON.stringify(product) %>;