nodejs出现问题。我试图进行httprequest以获得一些信息,然后我想将其解析为JSON文件并使用该文件。
function richiesta() {
var data_store = {}
data_store["lista"] = []
var uri = "https://ghibliapi.herokuapp.com/films"
var options = {
uri: uri,
json: true
};
request(options, function(error, response, body) {
var status = body["status"]
var titolo = body['0']["title"]
data_store["lista"]["titolo"] = titolo
console.log(data_store)
res.send(data_store)
});
}
为什么我遇到这个问题? “未定义Res”?我已经尝试放置响应,但是如果执行此操作,我将收到“ Response.send不是一个函数”,因此我不明白问题出在哪里。
答案 0 :(得分:1)
将res作为函数的参数传递,并在路由器回调中这样调用它:
router.get("/", function(req, res, next) {
richiesta(res);
});
function richiesta(res) {
var data_store = {}
data_store["lista"] = []
var uri = "https://ghibliapi.herokuapp.com/films"
var options = {
uri: uri,
json: true
};
request(options, function(error, response, body) {
var status = body["status"]
var titolo = body['0']["title"]
data_store["lista"]["titolo"] = titolo
console.log(data_store)
res.send(data_store)
});
答案 1 :(得分:0)
如果不将参数传递给函数,则会出现此错误。
示例:
var express = require('express');
var http = require('http');
var fs = require('fs');
var app = express();
app.get('/', (req, res)=> {
res.send("get works");
})
app.post('/', ()=> {
res.send('post works');
})
app.listen('8080', ()=> {
console.log('server started');
});
更改为:
app.post('/', (req, res )=> {
res.send('post works');
})