提问者:小点点

如何用Ajax比较来自两个链接的数据?


我想比较并打印第一个链接中的genre_ids和另一个链接中的id。

样品:

genre_ids:[18,878,]

{id:18,名称:“戏剧”,},{id:878,名称:“科幻小说”,}

结果:戏剧,科幻小说

$(document).ready(function () {

    var url = "http://api.themoviedb.org/3/discover/movie?api_key=7196f61181cb7f5b0a28020cd3f603fb&language=en-US&sort_by=popularity.desc&include_adult=false&include_video=false&page=1&item_count=14";

    var categories = "https://api.themoviedb.org/3/genre/movie/list?api_key=7196f61181cb7f5b0a28020cd3f603fb&language=en-EN";
    $.ajax({
        url: url,
        method: 'GET',
        success: function (data) {
            $.ajax({
                url: categories,
                method: 'GET',
                success: function (cat) {
                    $('#Movies').html(ListMovies(data, cat));
                }
            });
        }
    });

    function ListMovies(data, cat) {
        var card = "";
        var cats = "";
        for (var i = 0; i < 12; i++) {

            card += "<div class='col-sm-3'><div class='card'><img src='https://image.tmdb.org/t/p/w1280" + data.results[i].backdrop_path + "' height='250px' class='card-img-top'><div class='card-body'><h5 class='card-title'>" + data.results[i].original_title + " <span>" + data.results[i].vote_average + "</span></h5><p class='card-text'>" + result should be here + "</p></div></div></div>";
        }
        return card;
    }
});

共1个答案

匿名用户

那么这个呢:

function ListMovies(data, cat) {
        var card = "";
        for (let i = 0; i < 12; i++) {
            let cats = [];
            cat.genres.forEach(elem=>{
                if(data.results[i].genre_ids.includes(elem.id)) cats.push(elem.name)
            })

            card += "<div class='col-sm-3'><div class='card'><img src='https://image.tmdb.org/t/p/w1280" + data.results[i].backdrop_path + "' height='250px' class='card-img-top'><div class='card-body'><h5 class='card-title'>" + data.results[i].original_title + " <span>" + data.results[i].vote_average + "</span></h5><p class='card-text'>" + cats.join(", ") + "</p></div></div></div>";
        }
        return card;
    }