0
API(wrike.com)にHTTPSリクエストを行い、フロントエンドに表示するために結果を自分のビューに渡すのに苦労している以外はすべて動作します。NodeJSが結果をHTTPSリクエストからビューに渡す
これは、関数のコードです:私はconsole.log(folders);
ラインがコンソールで期待される結果を示しているとして、関数の動作を知って
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
});
});
});
:
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);
});
}
そしてこれがルートのコードです。私は道に結果を得るために何が欠けている。
ありがとうございました。
それはうまくいきました。助けてくれてありがとう。 –
問題ありません!ノードのコールバックを忘れないでください!ほぼすべてが非同期であることを忘れないでください。 – jakerella
こんにちはJakerella、これは配列として変数を渡していません。私は 'toString()'を関数から取り除こうとしましたが、これはどちらもしません。これを配列にする方法を私に教えることができるので、私のビュー内でforループを実行して、並べ替えられたデータを表示することができますか?何か助けてもらえたらもう一度おねがいします。 –