Javascript 是否有一种方法可以发出API请求,并且在发出请求之前只获取满足某些标准的数据?
现在,每当用户单击按钮时,我的代码都会向电影API发出请求。请求的一部分包括随机化请求中的电影id,以便response.data是一部随机电影。然而,在这个API中有成千上万的电影/电视节目/剧集,所以我想把它们缩小到只有那些有imdb收视率和海报的。现在,我的代码是这样的:Javascript 是否有一种方法可以发出API请求,并且在发出请求之前只获取满足某些标准的数据?,javascript,reactjs,api,axios,Javascript,Reactjs,Api,Axios,现在,每当用户单击按钮时,我的代码都会向电影API发出请求。请求的一部分包括随机化请求中的电影id,以便response.data是一部随机电影。然而,在这个API中有成千上万的电影/电视节目/剧集,所以我想把它们缩小到只有那些有imdb收视率和海报的。现在,我的代码是这样的: function randomizeMovie() { axios({ "method": "GET", "url": `h
function randomizeMovie() {
axios({
"method": "GET",
"url": `http://www.omdbapi.com/?i=${randomMovieId}&apikey={apikey}`
})
.then((response) => {
displayMovieTitle(response.data.Title)
displayMoviePoster(response.data.Poster)
})
.catch((err) => {
console.log(err, "error")
})
}
我试着做了下面的工作,虽然它有点工作(我说这是因为它会在我的控制台上随机出现,但不会在前端显示变化),但每天有1000个API请求的限制,这肯定会消耗掉所有请求
function randomizeMovie() {
axios({
"method": "GET",
"url": `http://www.omdbapi.com/?i=${randomMovieId}&apikey={apikey}`
})
.then((response) => {
response.data.imdbRating === "N/A" ? randomizeMovie() :
displayMovieTitle(response.data.Title)
displayMoviePoster(response.data.Poster)
})
.catch((err) => {
console.log(err, "error")
})
}
所以我的问题是:我可以设置API响应满足的条件而不进行请求调用吗?还是有其他我想不出的解决办法?我读过很多关于堆栈溢出的问题,reddit,google,所有这些我都找不到解决方案。感谢您的帮助 表示它有参数选项。你可以通过改变年份或搜索关键字来搜索电影。更改参数是获取更多随机电影的好方法。
对参数使用随机函数,因此此应用程序没有搜索条目。只需点击一个按钮,电影/电视节目/插曲就会随机显示。长话短说,我不认为我能以我所认为的方式解决这个问题,但我找到了一个解决方案,如果有人想知道它是什么,我正在通过koggle获取Netflix数据。将随机化数据单击,然后通过omdb api显示海报、标题、演员阵容等!:-)感谢您的回复。您也可以使用onclick的时间来进行随机性。您可以使用完成单击的第二秒来随机化结果