【发布时间】:2016-03-12 18:47:37
【问题描述】:
我是使用 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 脚本,下面是我的 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);
}
【问题讨论】:
-
请显示相关的HTML。另外,您是否查看了调试控制台以查看报告了哪些脚本错误?在我的脑海中,我猜测您的 ajax URL 的相对路径是一个问题。另外,您知道您的 PHP 脚本是否正在执行吗?
-
表示我的请求没有找到。
标签: php jquery api video-streaming