所以我正在尝试用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(消息)});
});
}