javascript - JSON 请求返回空主体 Nodejs

标签 javascript json node.js requestjs

我正在使用requestyts.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;

最佳答案

您正在一遍又一遍地将包含 movie_id 的查询字符串添加到请求 URL。因此,只有第一个请求有效,而所有后续请求的请求 URL 均无效。而是在请求回调中创建一个新的请求 URL。此外,您只需忽略可能遇到的任何错误。

关于javascript - JSON 请求返回空主体 Nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40735425/

相关文章:

json - 使用 jq 通过正则表达式和求和过滤嵌套数组的 JSON

java - 如何在 Groovy 中将字符串作为属性传递。多级 JSON

json - Typescript映射Json到接口(interface)解析日期

node.js - 如何在 firebase node.js 云函数中推送通知?

node.js - 使用 Appbaseio 和 ReactiveSearch 对用户查询建立索引

javascript - 异步 html5 验证

javascript - 我的网站应该如何优雅地处理偶尔丢失的 javascript 文件?

javascript - NG 构建失败模块解析失败 : Unexpected token - nothing has changed

javascript - 通过localStorage实现StorageEvent

php - 使用 jQuery 隐藏/显示文本框