javascript - 如何使用 AJAX 加载 IMDB 电影信息

标签 javascript php jquery ajax

我有这个代码来获取 IMDB 电影信息 我有一个网站http://microdownload.ir下载免费电影。

对于系列电影的信息,我需要使用 IMDB API,我使用了下面的代码,但它会刷新我的页面并在完成之前发布我的文章,所以我需要使用 Ajax 获取信息,我使用了以下代码

<html>

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Get IMDB Info</title>
</head>

<body>
  <center>
    <form method="post">
      Address : <input type="text" name="url" size="50"   placeholder="Example: http://www.imdb.com/title/tt1340138" dir="ltr"><br><br>
      <input type="submit" value="Get">
    </form>
  </center>
  <br><br>
  <?php 
    error_reporting(E_ERROR | E_PARSE);
    if(empty(!$_POST['url'])){
        echo '<div dir="ltr">';
        function IMDB ($url){
            preg_match("/tt\\d{7}/i", $url, $Id);
            $Get = file_get_contents('http://www.omdbapi.com/?i='.$Id[0]);
            $json = json_decode($Get,true);
            return $json;
        }

        $Response = IMDB($_POST['url']);
        if(!$Response){
            die ('خطا!');
        }
        echo "Title: ".$Response['Title'].'<br>'.
        "Year: ".$Response['Year'].'<br>'.
        "Rated: ".$Response['Rated'].'<br>'.
        "Released: ".$Response['Released'].'<br>'.
        "Runtime: ".$Response['Runtime'].'<br>'.
        "Genre: ".$Response['Genre'].'<br>'.
        "Director: ".$Response['Director'].'<br>'.
        "Writer: ".$Response['Writer'].'<br>'.
        "Actors: ".$Response['Actors'].'<br>'.
        "Plot: ".$Response['Plot'].'<br>'.
        "Language: ".$Response['Language'].'<br>'.
        "Country: ".$Response['Country'].'<br>'.
        "Awards: ".$Response['Awards'].'<br>'.
        "Poster: ".$Response['Poster'].'<br>'.
        "Metascore: ".$Response['Metascore'].'<br>'.
        "imdbRating: ".$Response['imdbRating'].'<br>'.
        "imdbVotes: ".$Response['imdbVotes'].'<br>'.
        "imdbID: ".$Response['imdbID'].'<br>'.
        "Type: ".$Response['Type'].'<br>'.
        "Response: ".$Response['Response'].'<br>'.
        '</div>'
        ;


    }
    ?>
</body>

</html>

它工作正常但是 我想使用 AJAX(无需重新加载页面)将数据接收到我的 <p></p>标签 这意味着当我点击获取数据时,我的数据设置为 <p></p>自动标签

最佳答案

你可以试试这个吗:-

$(document).ready(function() {
    $('#imdbInfoForm').on('submit', function(e) {
        e.preventDefault();
        var arr = $('#imdbUrl').val().match(/tt(\d+)/);
        var imdbId = arr[0];
        $.ajax({
                url: "http://www.omdbapi.com/?i=" + imdbId,
                success: function(data) {
                    $('#result').html('Title: ' + data.Title + '<br>' + 'Year: ' + data.Year + '<br>' + 'Rated: ' + data.Rated + '<br>' + 'Released: ' + data.Released + '<br>' + 'Runtime: ' + data.Runtime + '<br>' + 'Genre: ' + data.Genre + '<br>' + 'Director: ' + data.Director + '<br>' + 'Writer: ' + data.Writer + '<br>' + 'Actors: ' + data.Actors + '<br>' + 'Plot: ' + data.Plot + '<br>' + 'Language: ' + data.Language + '<br>' + 'Country: ' + data.Country + '<br>' + 'Awards: ' + data.Awards + '<br>' + 'Poster: ' + data.Poster + '<br>' + 'Metascore: ' + data.Metascore + '<br>' + 'imdbRating: ' + data.imdbRating + '<br>' + 'imdbVotes: ' + data.imdbVotes + '<br>' + 'imdbID: ' + data.imdbID + '<br>' + 'Type: ' + data.Type + '<br>' + 'Response: ' + data.Response + '<br>');

                }
            })
            .done(function(data) {
                if (console && console.log) {
                    console.log("Sample of data:", data.slice(0, 100));
                }
            });
    })
});
<html>

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Get IMDB Info</title>
</head>

<body>
  <center>
    <form id="imdbInfoForm" method="post" >
      Address : <input type="text" name="url" size="50"   placeholder="Example: http://www.imdb.com/title/tt1340138" dir="ltr"><br><br>
      <input type="submit" value="Get">
    </form>
  </center>
   <div id="result">
        </div>
 
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
 
</html>

关于javascript - 如何使用 AJAX 加载 IMDB 电影信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42533878/

相关文章:

javascript - Bing map - 将平移限制在边界区域

javascript - 如何将下拉菜单更改为表格格式?

javascript - 如何在 div 元素内打印 tab(\t)?

javascript - 滚动到 iframe 中的特定 ID,同时保留父页面位置

javascript - 为什么我能够在 Node/Jest 中访问 WebSocket native 浏览器对象?

javascript - laravel 如何将数据传递到另一个 View

php - 如果除了 url 之外什么都没有创建网站的屏幕截图图像?

javascript - 单击其他时取消选中复选框

javascript - POST angularjs 后强制页面刷新

javascript - document.getElementById().value 平均值