0

検索ボックスをRottenTomatoesAPIに接続して、Webページで検索を実行すると、Rotten Tomatoesの結果が返されるようにするにはどうすればよいですか?

$userSearchPHPセクションに変数を追加しました。そして、その変数をurlencode関数に入れます。進め方に少し迷っています。AJAX jQueryを使用する必要があると思いますが、APIをヒットするコードを含むJavaScriptファイルを作成し、検索ボックス定義内に「アクション」を含める必要がありますか?私はこれをどうやって行うかについて少し混乱していて、例を見つけるのに苦労しています。RottenTomatoesPHPの例からこれを構築して います。

これが「マウス」検索をハードコーディングした私のコードです。

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>

        <form method="post" action="www.websitehere.com/folderhere/"
              name="searchform" id="searchform">

            <label for="Search"> Search: </label>
            <input type="text" id="search" name="myName" placeholder="Search for movie" 
                   required="required" style="width: 520px" />

            <label for="category" id="category">Category</label>
            <select>
                <option value="title" selected="selected">Movie Title</option>
                <option value="director">Director</option>
                <option value="genre">Genre</option>
            </select>
            <input type="submit" value="Search" id="searchbtn">
            <input type="submit" value="Add" id="searchbtn">
            <p></p>
            <div id="search_results">Local Search results</div>

        </form>

        <?php
        $userSearch = 'Mouse';
        $apikey = 'myapikeyhiddenforprivacy';
        $q = urlencode($userSearch); // make sure to url encode an query parameters
// construct the query with our apikey and the query we want to make
        $endpoint = 'http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=' . $apikey . '&q=' . $q;

// setup curl to make a call to the endpoint
        $session = curl_init($endpoint);

// indicates that we want the response back
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);

// exec curl and get the data back
        $data = curl_exec($session);

// remember to close the curl session once we are finished retrieveing the data
        curl_close($session);

// decode the json data to make it easier to parse the php
        $search_results = json_decode($data);
        if ($search_results === NULL)
            die('Error parsing json');

// play with the data!
        $movies = $search_results->movies;
        echo '<ul>';
        foreach ($movies as $movie) {
            echo '<li><a href="' . $movie->links->alternate . '">' . $movie->title . " (" . $movie->year . ")</a></li>";
            echo '<img src="' . $movie->posters->detailed . ' "/><br>';
        }
        echo '</ul>';
        ?>

    </body>
</html>
4

1 に答える 1

3

このシナリオではPHPは必要ありません。JavaScriptから直接APIを呼び出すことができるのに、なぜサーバー側のコードにAJAX呼び出しを行ってAPIを呼び出すのですか?

リンクを共有したページのJavaScriptコードの例を見てください。

http://developer.rottentomatoes.com/docs/read/json/v10/examples#JavaScript

于 2012-11-02T13:17:36.217 に答える