当有人单击按钮时,我希望它播放指定的视频(在移动设备上)。发生的情况是,当有人单击按钮时,我会在客户端进行 AJAX 调用,如下所示:
$(".play").click(function(){
var camerahash = $(this).data('hash');
var cameratype = $(this).data('type');
function doAjax(){
$.ajax({
url: 'myfile.php',
success: function(data) {
if (data == 'Initializing...')
{
setTimeout(doAjax, 2000);
}
else
{
$('#quote p').html(data);
}
}
});
}
doAjax();
});
这有这个 div 来向用户打印消息:
<div id="quote"><p> </p></div>
服务器代码(myfile.php):
$r = new HttpRequest('http://localhost...', HttpRequest::METH_GET);
$r->send();
$code = $r->getResponseCode();
switch($code) {
case 200:
echo "Starting Stream... ";
echo '<a href="http://blah.m3u8">Play Stream</a>';
echo '<br>';
break;
case 450:
echo "Oops! Camera not found...";
echo '<br>';
break;
case 550:
echo "Oops! An error occurred...";
echo '<br>';
break;
case 250:
echo "Initializing...";
break;
default:
echo "Error 600";
echo '<br>';
break;
}
这可行,但在按下按钮后,您会得到:Starting stream... Play Stream
其中 Play Stream 是您必须单击才能播放视频的链接。我想要的是在单击按钮后立即开始播放视频(并且在服务器上验证了正确的状态代码)。
我根据这篇非常相似的帖子进行了尝试。
但我无法让 json 工作,所以我不能将 url 与重定向一起放置,例如:window.location.href = data.redirect;
服务器端redirect
的 url 在哪里。有什么想法我可以做的吗?
我应该注意到这是 Joomla,所以服务器代码不是 myfile.php,而是实际上是一个组件 url,但我相信这与这个问题无关。有任何想法吗?