使用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) 
+0

感谢但是如果我在脚本中使用它,这种说法是否有效? 因为我认为你不能直接在scrpit中引用php变量。 有没有什么办法,我可以让xmlhttp.open接受使用php参数,我通过 – 2013-02-10 08:45:25

+0

@RogerMendes回复。 – Birla 2013-02-10 09:06:34