如何更改点击链接,以匹配我从另一个API请求获得的ID

佩塔尔

我可能在标题中表示不好,所以这里是:
我想更改IMDB按钮的链接地址,以将tvshow ID添加到URL的方式,因此看起来像这样(https://www.imdb.com/title/tt2861424)。

我对API(themoviedb API)有2个单独的请求,一个是显示电视节目的详细信息(其中有些头脑不包括imdb_id),另一个是来自同一API提供者的请求,以获取external_id(以这种方式获得该imdb_id)。但是我无法将第二个请求中的imdb_id连接到IMDB按钮上,因此它将添加imdb_id到URL并打开相应的页面。

另外,它可以工作,我可以收到imdb_id第二个请求,但是我必须将其输出到我已经拥有的所有结构下,并且整个结构都将被破坏。

function getShowInfo(){
    let showId = sessionStorage.getItem("showId");

    axios.get("https://api.themoviedb.org/3/tv/"+showId+'?api_key=fa155f635119344d33fcb84fb807649b&language=en-US')
        .then((response)=>{
            let series = response.data;
            let output = `
                <div class="moviePage">
                    <div class="poster"><img src="http://image.tmdb.org/t/p/w300/${series.poster_path}"></div>
                    <div class="info">
                        <h2>${series.name}</h2>
                        <ul>
                            <li><strong>Genres:</strong> ${series.genres[0].name}</li>
                            <li><strong>Episode runtime:</strong> ${series.episode_run_time[0]}min </li>
                            <li><strong>Frist air date:</strong> ${series.first_air_date}</li>
                            <li><strong>Networks:</strong> ${series.networks[0].name}</li>
                            <li><strong>Popularity:</strong> ${series.popularity} %</li>
                            <li><strong>Number of episodes:</strong> ${series.number_of_episodes}</li>
                            <li><strong>Number of seasons:</strong> ${series.number_of_seasons}</li>
                            <li><strong>Production companies:</strong> ${series.production_companies[0].name},${series.production_companies[1].name}</li>
                            <li><strong>Status:</strong> ${series.status}</li>
                            <li><strong>Type: </strong>${series.type}</li>
                        </ul>

                        <div class="buttons"> ERROR
                            <a href="https://www.imdb.com/title/???"target="_blank"> IMDB Link </a>
                            <a href="#" onclick="openTrailer()"> Trailer </a>
                            <a href="https://www.titlovi.com/titlovi/?prijevod=${series.name}" target="_blank"> Subtitle </a>
                            <a href="https://www.thepiratebay.org/search/${series.name}" target="_blank"> Pirate bay </a>
                            <a href="javascript:history.back()"> Go back </a>
                        </div>
                    </div>
                </div>
                <div class="plot">
                    <h3>Plot: </h3>
                    <p>${series.overview}</p>
                </div>
            `;
            let info = document.getElementById("movie");
            info.innerHTML = output;
        })
        .catch ((err)=>{
            console.log(err);
        });
        axios.get("https://api.themoviedb.org/3/tv/"+showId+'/external_ids?api_key=fa155f635119344d33fcb84fb807649b&language=en-US')
            .then((response)=>{
                console.log(response)
                let imdb = response.data.imdb_id;
                console.log(imdb);
            })
}
一定的表现

使用Promise.all仅创建HTML一旦两种反应已经回来了,这样就可以使用imdb_id 一系列信息一次:

function getShowInfo() {
  const showId = sessionStorage.getItem("showId");

  const seriesProm = axios.get("https://api.themoviedb.org/3/tv/" + showId + '?api_key=fa155f635119344d33fcb84fb807649b&language=en-US');
  const imdbProm = axios.get("https://api.themoviedb.org/3/tv/" + showId + '/external_ids?api_key=fa155f635119344d33fcb84fb807649b&language=en-US');
  Promse.all([seriesProm, imdbProm])
    .then(([seriesResp, imdbResp]) => {
      const series = seriesResp.data;
      const imdb_id = imdbResp.data.imdb_id;
      let output = `
        <div class="moviePage">
        <div class="poster"><img src="http://image.tmdb.org/t/p/w300/${series.poster_path}"></div>
        ...
        <a href="https://www.imdb.com/title/${imdb_id}" target="_blank"> IMDB Link </a>
        ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

点击链接后如何通过id触发另一个页面的onclick?

我如何获得另一个柜台?

我如何从另一个文件获取链接?

我如何点击另一个页面的链接,其中包含当前页面中的功能

如何从我自己的应用程序向另一个 API 发送发布请求

我如何根据他的 ID 放置一个指向另一个页面的超链接?

当一个依赖另一个时,如何链接超级测试请求?

如何使用PDFBox的创建一个链接,我可以点击进入另一个页面同一文档中

模拟点击另一个下载链接

将 OneToOne 链接更改为具有另一个 id 的另一个实体

jQuery如何更改点击链接的类别

如何避免一个查询与另一个查询的匹配ID

如何将我从服务器获得的listview项的ID传递给另一个活动onclick?

从一个表中获得名称,在另一个表中具有匹配ID?

从我的 api 到另一个 api 的 API GET 请求?

如何更改点击图片的ID

如何发送另一个请求并在scrapy parse函数中获得结果?

React-Router链接,如何触发来自另一个组件的链接上的点击事件

如何从我的Spring Boot应用程序控制器创建对另一个API的PATCH请求?

如何使我的 GridLayout 可点击并移动到另一个活动?

如何获得一个按钮以链接到Django中的另一个HTML模板?

如何获得一个字母输入以匹配另一个字母输入的长度?

如何根据点击的链接更改点击事件的结果

表达:-更改另一个用户的请求会话

如何从一个Docker容器向另一个链接的容器发出HTTP请求?

如何使用litElement获得另一个组件的组件状态更改?

在我得到第一个 api 的响应后向另一个 api 发出请求

插入从另一个表获得的ID

JQuery:如何从另一个链接更改活动表类?