我是使用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);
}
答案 0 :(得分:0)
如果未在浏览器中找到PHP请求,则可能是此相对URL:
'php/api.php/getVideo?search=anthony'
不正确。我们不知道您的网页或脚本的文件层次结构,但我建议您首先尝试使用包含主机名和完整路径的完全限定URL来使其正常工作。如果有某种原因然后从那里使用相对路径,则可以在从工作脚本开始时修改它。要使其正常工作,请切换到包含http://
:
'http://somedomain.com/somepath/php/api.php/getVideo?search=anthony'