0

我正在做一个从 Ip camera 录制视频的项目。我使用 ajax 运行我的程序后端,它使用 process.php 文件中的代码成功录制视频。但是,我正在尝试使每个用户的程序更加动态,并且我在将参数传递到我的下一页时遇到问题,即 record.php 我要传递的 2 个参数是电子邮件和 url 我尝试了以下方式将变量传递给我的进程。 php 使用 ajax 链接:

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 回答