我正在使用 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);
我已经尝试了以下两种方法,但他们都说 body 是未定义的。
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);
});
有谁知道我做错了什么?我以前从未使用过 express 或 request,所以任何提示将不胜感激。
更新
如果我将请求代码更改为以下内容,则函数内部永远不会运行。有谁知道为什么会这样?
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);
})