0

Ip camera からビデオを録画するプロジェクトを行っています。私はajaxを使用して、process.phpファイルのコードを使用してビデオを正常に記録するプログラムバックエンドを実行しました。しかし、私は各ユーザーに対してプログラムをより動的にしようとしており、次のページにパラメーターを渡す際に問題に直面しています。 ajaxリンクを使用したphp:

xmlhttp.open('GET','http://localhost/IPCAM/process.php?sh=1&url=<?php echo $url ?>&email=<?php echo $email ?>',true);

これが完全なスクリプトです。動的に動作するように上記の URL を記述する適切な方法を誰かに提案してもらえますか。

<script type="text/javascript">

function st()
{
                        if (window.XMLHttpRequest)
                        {
                            xmlhttp=new XMLHttpRequest();
                        }
                        else
                        {
                            xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
                        }
                        xmlhttp.onreadystatechange=function()
                        {
                            if (xmlhttp.readyState==4 && xmlhttp.status==200)
                            {
                            alert('stored');
                            }

                        }
                        xmlhttp.open('GET','http://localhost/IPCAM/process.php?sh=1&url=<?php echo $url ?>&email=<?php echo $email ?>',true);
                        xmlhttp.send();

setTimeout('st()',5000);
}
</script>
4

1 に答える 1

1

次のように、php 変数を URL エンコードしてみてください。

xmlhttp.open('GET','http://localhost/IPCAM/process.php?sh=1&url=<?php echo urlencode($url) ?>&email=<?php echo urlencode($email); ?>',true);

私は以前にパターンを使用しました。これは、上記のコードのような JavaScript を含むページが、実際には .php ファイルに含まれていることを前提としています。アプリケーションを設計するより良い方法は、javascript を外部ファイルとして含めることですが、その場合は次のようにする必要があります。

$export_vars = array('url' => $url, 'email' => $email);
echo '<script type="text/javascript">' .
    'var userData = ' . json_encode($export_vars) . ";" .
    '</script>';

最初の JavaScript 関数は次のように書き直す必要があります。

function st(url, email)
于 2013-02-10T07:34:28.607 に答える