将内容ajax加载到html弹出窗口中


loading content ajax into html popup

所以我正在尝试用IMDb API做这件事。当你按下电影标题时,它应该会显示一个弹出窗口,其中包含有关该电影的一些信息。我一直在做一些事情,但我不知道如何继续。如何将我检索到的电影数据发送到我创建的HTML弹出窗口中?

这是我的HTML代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Plugin</title>
    <link rel="stylesheet" href="css/style.css"/>
</head>
<body>
<h1>...</h1>
<div id="container">
    <p>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        <span class="movie" onclick="window.open('js/popup.js', 'imdbData','width=700,height=200');">The Shawshank Redemption </span>
        sed metus tortor, condimentum at mi non, scelerisque bibendum ante.
        Suspendisse dictum eget turpis nec condimentum. 
        fermentum mauris.
    </p>
</div>

</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="js/main.js"></script>
</html>

我的PHP文件如下:

<?php
$jsonText = file_get_contents('http://www.omdbapi.com/?i=tt0111161');
$imdb = json_decode($jsonText, true);

$results[] = [
    'Title' => $imdb['Title'], 'Year' => $imdb['Year'], 'imdbRating' => $imdb['imdbRating']
];
echo json_encode($results);
?>

最后是我的main.js:(实际上并不多)

function getJson() {
    $.ajax({
        dataType: "json",
        url: 'imdb.php',
        success: 
    });
}

不确定"弹出窗口"是什么,但让我们假设这个"弹出窗口"有一个id为"电影标题"的元素,您希望用数据中的Title属性填充该元素:

function getJson() {
    $.ajax({
        dataType: "json",
        url: 'imdb.php',
        success: function (data) {
             $('#movie-title').html(data.Title)
        }
    });
}

我会用不同的方式来做。首先,我将在php文件中准备所有弹出窗口(这对我来说更容易)。然后创建弹出div。例如id my_popup

function show_popup() {
$.ajax({
    dataType: "html",
    url: 'imdb.php',
    .done(function( msg ) { 

$("#my_popup").html(消息)});

});

}