Express と Request (npm を使用してインストール) の組み合わせを使用して、get 要求を送信してサーバーから json を取得しようとしています。しかし、何をしても返される本体は「未定義」です。
これは私の server.js ファイルのコードです。jsonは実際に送信しているものではありません。実際に送信しているものを投稿できないため、これは単なる例です。
import express = require("express");
import bodyParser = require("body-parser");
let app = express();
app.use(bodyParser.json());
app.get('/config', function(req, res){
res.json('{name: test}');
})
app.listen(3000);
次の両方を試しましたが、どちらも本体が未定義であると言っています。
import request = require("request");
let req = {
url: `http://localhost:3000/config`,
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
}
request(req, function(error, response, body){
this.config = JSON.parse(body);
})
request(`/config`, function(err, res, body) {
this.config = JSON.parse(body);
});
私が間違っていることを誰かが知っていますか?これまでエクスプレスやリクエストを使用したことがないので、ヒントをいただければ幸いです。
アップデート
リクエストコードを次のように変更すると、関数の内部は実行されません。これがなぜなのか誰か知っていますか?
let req = {
url: `http://localhost:3000/config`,
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
}
request(req, function(error, response, body){
console.log("response => "+JSON.parse(body));
return JSON.parse(body);
})