-1

我正在创建一个使用 OMDB API 搜索电影并显示它们的小项目。ttXXXXXXX但是,每当我想显示有关标题的详细信息时,我都需要以“X”指整数 ID的形式将我尝试访问 API 的标题的 IMDB ID 发送到 API 。

tt0284753但是,当我尝试搜索其 IMDB ID中有前导零的标题时出现问题(例如“Lippy the Lion and Hardy Har Har”),因为 JavaScriptparseInt()方法删除了前导零,并且 API 需要 IMDB ID以整数形式(也许它在后台执行 RegEx 以从 URL 字符串(或其他)中删除前导“tt”。

目前,我的实现是这样的:

//Show route
app.get("/results/:id",(req,res)=>{
    let strID = req.params.id;
    let imdbID = parseInt(strID.substr(2));
    let url = `http://omdbapi.com/?i=tt${imdbID}&apikey=${apikey}`;
    request(url,(error,response,body)=>{
        if(!error && response.statusCode == 200){
            let movie = JSON.parse(body);
            res.render("details",{movie:movie,url:url});
        }
    })

});
4

2 回答 2

0

您在模板字符串中使用 ID,所以最后它是一个字符串。不需要将其解析为整数。

于 2020-05-22T20:38:15.927 回答
0

数字没有“前导零”。它们只有一个值。数字的文本表示可能有前导零。

简单地将其保留为字符串和其中一个(或两者):

  • 在数字上下文中使用时,允许 Javascript 将其强制转换为数字或...

  • 当它需要是一个数字时,显式地将它强制转换为一个数字。

于 2020-05-22T20:52:11.340 回答