You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript获取IMDB信息时Director等字段返回undefined如何解决

问题原因
  • 你当前使用的是OMDB的搜索接口(请求参数带s),该接口返回的Search数组条目仅包含基础字段,不包含Director、Runtime、Released等详细信息
  • 这类详细字段需要通过搜索结果返回的imdbID,调用OMDB单条详情接口(请求参数带i)才能获取
  • 原代码中多余的JSON.stringify + JSON.parse操作属于冗余逻辑,jQuery的$.get请求已经自动将返回的JSON格式数据转为JS对象,无需额外转换
修复后完整代码

JS部分

var data;
function getanswer(q) {
    // 调用搜索接口获取匹配结果的imdbID
    $.get("https://www.omdbapi.com/?s=" + q + "&apikey=ba1f4581", function(searchData) {
        if (!searchData.Search || searchData.Search.length === 0) {
            document.getElementById('answer').innerHTML = "<p>未找到对应影视内容</p>";
            return;
        }
        const firstResult = searchData.Search[0];
        const imdbID = firstResult.imdbID;
        // 调用详情接口获取完整字段
        $.get("https://www.omdbapi.com/?i=" + imdbID + "&apikey=ba1f4581", function(detailData) {
            const title = detailData.Title;
            const year = detailData.Year;
            const director = detailData.Director;
            const runtime = detailData.Runtime;
            const released = detailData.Released;
            const imdburl = "https://www.imdb.com/title/" + imdbID + "/";
            const posterurl = detailData.Poster;
            // 拼接输出内容
            document.getElementById('answer').innerHTML = `
                <h1>${title}</h1>
                <img src='${posterurl}' alt='${title}海报'>
                <p>上映年份:${year}</p>
                <p>上映日期:${released}</p>
                <p>导演:${director}</p>
                <p>时长:${runtime}</p>
                <p>IMDB页面:<a href='${imdburl}' target='_blank'>${imdburl}</a></p>
            `;
        })
    })
}

HTML部分

<!doctype html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body onload="getanswer(document.getElementById('querybox').value)">
<input value="The Meg" onkeyup="getanswer(document.getElementById('querybox').value)" id="querybox">
<div id="answer"></div>
</body>
</html>

内容的提问来源于stack exchange,提问作者santosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:18:00