Передача ответа JSON API в JADE для цикла

#javascript #json #node.js #pug

#javascript #json #node.js #pug

Вопрос:

У меня есть ответ json, который я хотел бы преобразовать в dropdown . Я использую шаблон jade для обработки цикла for, но у меня возникают проблемы с получением значений. Я бы хотел, чтобы sys_id передавался как значение при выборе параметра (u_product_name) из выпадающего списка.

Экспресс-маршрут JS

 exports.jap = function(req, res){

result = //result is coming from API but this is what a console.log(result) shows
{ result: 
   [ 
     { sys_id: '7d950856',
       u_product_name: 'ACCESS' },
     { sys_id: '803279e1',
       u_product_name: 'AVAYA' },
     { sys_id: '87484c96',
       u_product_name: 'ADAMO' },
     { sys_id: 'b3b9001a',
       u_product_name: 'ADM' } 
   ]
}
res.render('lang', {
    results: result
});
}
  

lang.jade

 select(name='product')
   - each r in results
        option(value="#{r[0]['sys_id']}") #{r.0.u_product_name} //trying a couple different conventions here with no luck.
  

Ближайшая вещь, которую я получил, — это использование JSON strigify , хотя это разделило каждую букву как новую опцию. Я пробовал разные обозначения для доступа к JSON, но, похоже, все приводит к undefined.

Комментарии:

1. Я думаю, что эта итерация: - each r in results должно быть что-то вроде этого: - each r in results.result

2. Спасибо, что это было!

Ответ №1:

Благодаря @Savabeal

lang.jade

 select(name='product')
    - for r in results.result
        option(value="#{r.sys_id}") #{r.u_product_name}