Ich mache eine HTTPS-Anfrage an eine API (wrike.com) und alles funktioniert, außer ich habe Mühe, das Ergebnis meiner Ansicht zu übergeben, um im Frontend anzuzeigen.NodeJS übergibt Ergebnisse HTTPS-Anfrage an die Ansicht
Dies ist der Funktionscode:
module.exports.getWrikeFolder = function(user, callback) {
User.findOne({email: user}, function(err, doc){
if(err) throw err;
var accessToken = doc.wrikeaccess;
console.log(accessToken);
var data = querystring.stringify({
"descendants": true,
"project": false
});
var options = {
host: 'www.wrike.com',
method: 'GET',
path: '/api/v3/folders/',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'bearer ' + accessToken
}
}
var folders = [];
var request = https.request(options, function(res) {
res.on('data', function (chunk) {
folders.push(chunk);
}).on('end', function() {
folders = Buffer.concat(folders).toString();
console.log(folders);
});
});
request.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
request.write(data);
request.end(err, folders);
});
}
Und dies ist der Code für die Route:
router.get('/dmd', ensureAuthenticated, function(req, res, next) {
wrike.getWrikeFolder(user, function(err, folders) {
//if(err) throw err;
res.render('dmd-codes', {
title: 'DMD Codes',
nav: 'Admin',
folders: folders
});
});
});
Ich weiß, dass die Funktion arbeitet wie die console.log(folders);
Linie das erwartete Ergebnis in der Konsole zeigt. Was fehlt mir, um das Ergebnis in die Route zu bekommen.
Danke für jede Hilfe.
so toll gearbeitet. Danke für die Hilfe. –
kein Problem! Vergessen Sie nicht diese Rückrufe in Knoten !! Denken Sie daran, dass fast alles asynchron ist. – jakerella
Hallo Jerkerella, das übergibt die Variable nicht als Array. Ich habe versucht, 'toString()' weg von der Funktion zu nehmen, aber das tut es auch nicht. Könntest du mir sagen, wie ich das in ein Array umwandeln kann, damit ich in meiner Ansicht eine for-Schleife machen kann, um die Daten in einer Reihenfolge anzuzeigen? Nochmals vielen Dank für jede Hilfe, die Sie geben können. –