gpt4 book ai didi

node.js - 使用 Express、Request 和 Node.js 在 typescript 中发送/处理 GET 请求

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:45 24 4
gpt4 key购买 nike

我正在使用 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 或请求,因此我们将不胜感激。

<小时/>

更新

如果我将请求代码更改为以下内容,则函数内部永远不会运行。有谁知道为什么会这样吗?

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);
})

最佳答案

因为OP还没有让它工作,我相信他在那里得到的代码是正确的。我不妨在这里发布我的工作解决方案来帮助他开始。

希望这能为您节省调试时间...

客户:

"use strict";
let request = require("request");

let req = {
url: `localhost:4444/config`,
proxy: 'http://localhost:4444',
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
};

request(req, function (err, res, body) {
this.config = JSON.parse(body);
console.log("response => " + this.config);
});

服务器:

"use strict";
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
var config = require('config');
app.use(bodyParser.json());

app.get('/config', function(req, res){
res.json('{name: test}');
});

// Start the server
app.set('port', 4444);

app.listen(app.get('port'), "0.0.0.0", function() {
console.log('started');
});

输出:

response => {name: test}

关于node.js - 使用 Express、Request 和 Node.js 在 typescript 中发送/处理 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com