使用ajax将参数传递给php文件的错误
问题描述:
我正在做一个记录来自IP摄像机视频的项目。我使用ajax来运行我的程序后端,它使用process.php文件中的代码成功记录视频。然而,我正在努力使程序更加动态为每个用户,我面临着问题传递参数到我的下一个页面,即record.php 我想通过的2个参数是电子邮件&我试图通过以下方式将变量传递给我的过程.php使用ajax链接:使用ajax将参数传递给php文件的错误
xmlhttp.open('GET','http://localhost/IPCAM/process.php?sh=1&url=<?php echo $url ?>&email=<?php echo $email ?>',true);
这是完整的脚本。 任何人都可以建议我正确的方式来写入上述网址动态工作。
编码你的PHP<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>
答
尝试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)
感谢但是如果我在脚本中使用它,这种说法是否有效? 因为我认为你不能直接在scrpit中引用php变量。 有没有什么办法,我可以让xmlhttp.open接受使用php参数,我通过 – 2013-02-10 08:45:25
@RogerMendes回复。 – Birla 2013-02-10 09:06:34