我正在使用request
从yts.ag/api获取电影列表,并以缩略图网格显示它们,当我点击每个缩略图时,我会将其带到另一个显示的页面电影的更多细节,当我第一次点击缩略图检索数据时,下次当我点击同一部电影或其他电影body
为空时,我将不得不重新启动服务器才能正常工作并且它仅在request
返回空body
后才能使用一个请求。什么似乎是问题或我实施request
错误?
var express = require('express');
var router = express.Router();
var request = require('request');
var url = 'https://yts.ag/api/v2/movie_details.json';
router.get('/:id', function (req, res, next) {
url += '?movie_id=' + req.params.id;
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
if (body) {
var importJSON = JSON.parse(body);
res.render('movie', {title: 'Hypertube - Torrent streaming', moviedetails: importJSON.data.movie});
}else {
res.render('movie', {title: 'Hypertube - Torrent streaming', moviedetails: false});
}
}
});
});
module.exports = router;
答案 0 :(得分:1)
您正在反复将包含movie_id
的查询字符串添加到请求网址中。因此,只有第一个请求才会生效,而所有后续请求都有一个无效的请求URL。而是在请求回调中创建一个新的请求URL。此外,您只需忽略可能出现的任何错误。