2013-02-10 41 views
0

我正在做一個記錄來自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> 

回答

1

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