麻烦api的

时间:2016-03-12 18:47:38

标签: php jquery api video-streaming

我是使用api和php的新手。但我想在我的项目目录中使用我的简单页面上的“新视频”按钮获取视频。我无法播放新视频。它看起来是我的语法错误,但我不确定我在哪里犯了错误。此外,我正在使用slim v2框架,如果这有所不同。

    <!DOCTYPE html>

<html lang="en">
    <head>
        <title>WOO</title>
        <style type="text/css">
            .center {
                margin-left: auto;
                margin-right: auto;
                margin-top: 0px;
                width: 70%;
            }
            h3 {
                margin-left: auto;
                margin-right: auto;
                margin-bottom: 0px;
                width: 70%;
                font-family: "Lucida Console", Monaco, monospace;
            }
        </style>
    </head>
    <body style="background-color: honeydew;">
        <h3 id="video-title">Video Example <button id="do-it">new video</button></h3>
        <div class="center">
            <video id="game" height="600" width="800" controls>
                <source src="videos/cyanide.mp4" type="video/mp4" />
                You can't play this video
            </video>
        </div>
        <script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
        <script type="text/javascript">
            $('#do-it').on('click', function() {
                var video = document.getElementsByTagName('video')[0];
                var source = video.getElementsByTagName('source')[0];

                $.ajax({
                    'url'       : 'php/api.php/getVideo?search=anthony',
                    'method'    : 'GET',
                    'dataType'  : 'json'
                }).done(function(data) {
                    console.log(data);
                    source.src = data.src;
                    $('#video-title').text(data.title);
                    video.load();
                })
            });
        </script>
    </body>
</html>

这是完整的html scrpit,下面是我的php脚本

<?php
require 'vendor/autoload.php';

$app = new \Slim\Slim();

// If the url matchs a certain word, it'll go to the function specified
$app-> get('/getTest','getTest');
$app-> get('/getVideo','getVideo');
$app->run();

function getTest () {
    echo '{"woo":' . json_encode('we made it') . '}';
}

function getVideo() {
    // get params from query string
    $app = \Slim\Slim::getInstance();
    $search = $app->request()->params('search');

    // get video data from search

    $video = (object)array("title" => "CLUTCH AD", "src" => "videos/anthony_davis.mp4");
    echo json_encode($video);
}

1 个答案:

答案 0 :(得分:0)

如果未在浏览器中找到PHP请求,则可能是此相对URL:

'php/api.php/getVideo?search=anthony'

不正确。我们不知道您的网页或脚本的文件层次结构,但我建议您首先尝试使用包含主机名和完整路径的完全限定URL来使其正常工作。如果有某种原因然后从那里使用相对路径,则可以在从工作脚本开始时修改它。要使其正常工作,请切换到包含http://

的完全限定网址
'http://somedomain.com/somepath/php/api.php/getVideo?search=anthony'