使用ajax将参数传递给php文件时出错

时间:2013-02-10 06:59:55

标签: php javascript ajax curl urlencode

我正在做一个记录来自Ip相机的视频的项目。我使用ajax运行我的程序后端,使用process.php文件中的代码成功记录视频。但是,我正在尝试使每个用户的程序更具动态性,我面临问题将参数传递到我的下一页,即record.php 我想传递的两个参数是电子邮件和电子邮件。 url我尝试了以下方法使用ajax链接将变量传递给我的process.php:

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

这是完整的脚本。 任何人都可以建议我正确的方法来编写上面的动态动态。

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

1 个答案:

答案 0 :(得分:1)

尝试对您的php vars进行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)