Hola Comunidad. Actualmente estoy desarrollando una aplicación donde me conecto a una API, donde con solo pasarle un número de teléfono obtengo la informaciónn, este es el código:
const request = require('request');
const morgan = require('morgan');
const exphbs = require('express-handlebars');
const path = require('path');
const app = express();
const axios = require('axios');
//Settings
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.engine('.hbs', exphbs({
defaultLayout: 'main',
layoutsDir: path.join(app.get('views'), 'layouts'),
partialsDir: path.join(app.get('views'), 'partials'),
extname: '.hbs',
helpers: require('./lib/handlebars')
}));
app.set('view engine', '.hbs');
// Middlewares
app.use(morgan('dev'));
app.use(express.urlencoded({extended: false}));
app.use(express.json());
//Global Variables
app.use((req, res, next) => {
next();
});
//Routes
app.get('/api/freshdesk/phone/:phoneNumber', async (req, res) => {
const phoneNumber = req.params;
let options = {
url: 'https://ngapi.freedompop.mx/api/freshdesk/phone/' + phoneNumber ,
method: 'GET',
json: true,
headers: {
'Authorization': 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhYjQwMzIwM2MzNDE0MjYyOWVmNjcyMTUwZGQ4OGUxNCIsInJvbGUiOiJCUUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9IiwibmFtZSI6IkZyZXNoZGVzayBBUEkiLCJleHAiOjE1NzExNDkxNjF9.toL9ILqMp-DDmGIPxXWxBNaS3jWaL_TLObU2TZUPSQc'
}
};
const phoneN = r.body;
res.render('layouts/test', {phoneN:phoneN[0]});
});
});
// Public
app.use(express.static(path.join(__dirname, 'public')));
//Starting Server
app.listen(app.get('port'), () => {
console.log('Server on port ', app.get('port'));
}); ```
El problema radica es que cuando quiero pasar la variable al archivo test.hbs, esta no la muestra, aquí el código del archivo:
```<div class="container p-4">
<div class="row">
<div class="col-md-4 mx-auto">
<div class="card ">
<div class="card-body">
<form action="/api/freshdesk/phone/{{phoneN}}" method="POST">
<div class="form-group">
<input type="email" value="{{phoneN.email}}" class="form-control" name="email" id="email" autofocus>
</div>
<div class="form-group">
<input type="text" value="{{phoneN.iccid}}" class="form-control" name="iccid" id="iccid" autofocus>
</div>
<div class="form-group">
<input type="text" value="{{phoneN.accountId}}" class="form-control" name="accountId" id="accountId" autofocus>
</div>
<div class="form-group">
<input type="text" value="{{phoneN.deviceName}}" class="form-control" name="deviceName" id="deviceName" autofocus>
</div>
<div class="form-group">
<input type="text" value="{{phoneN.network}}" class="form-control" name="network" id="network" autofocus>
</div>
<div class="form-group">
<input type="text" value="{{phoneN.planName}}" class="form-control" name="planName" id="planName" autofocus>
</div>
<div class="form-group">
<button class="btn btn-success btn-block">Guardar </button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>```