Estoy tratando de enviar un archivo json al cliente, pero no puedo hacerlo. Recibo errores internos (500). ¿Alguien me puede ayudar? Además, uso Handlebars como motor de visualización.
aplicación.js:
[...] var APIconditions = {}; var APIhourly = {}; function getWeatherData() { var data = ['/conditionsWU.json', '/hourlyWU.json']; request(data[0], function(err, res, body) { if (!err && res.statusCode == 200) { APIconditions = JSON.parse(body); } }); request(data[1], function(err, res, body) { if (!err && res.statusCode == 200) { APIhourly = JSON.parse(body); } }); } [...]índice.js:
[...] router.get('/conditions' , function(req, res, next) { res.json(APIconditions); }); router.get('/hourly' , function(req, res, next) { res.json(APIhourly); }); [...]cliente.js:
[...] function getWeather() { var APIconditions = 'conditions'; var APIhourly = 'hourly'; $.getJSON(APIconditions, function (data) { [...] }); $.getJSON(APIhourly, function (data) { [...] }); [...]No puede acceder a APIconditions o APIhourly desde otro archivo sin especificarlo.
La solución más simple sería adjuntarlos al alcance global, para que tenga acceso a ellos desde cualquier lugar.
global.APIconditions = {} global.APIhourly = {}