誰かがボタンをクリックすると、指定されたビデオを (モバイル デバイスで) 再生したいと思います。誰かがボタンをクリックすると、次のようにクライアント側で 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 であることに注意する必要がありますが、それはこの質問には関係ないと思います。何か案は?