2016-05-06 44 views
0

我試圖在php文件中獲取$ _POST並從Javascript應用程序發送,但我無法顯示它。 我的JavaScript應用程序似乎工作,我在RequestBin上測試,該網站可以獲取並顯示$ _POST(一個簡單的字符串)的內容。

該問題似乎來自PHP文件。

<?php 
print_r($_POST); 
if(isset($_POST['data'])){ 
    $data = htmlspecialchars($_POST['data']); 
    echo $data; 
} else { 
    echo "0"; 
} 

?> 

'data'是一個簡單的字符串。 它得到$ _ POST那麼Ajax代碼會試圖顯示它:

<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script> 
 
<script type="text/javascript"> 
 
$(function() { 
 
\t function repeat(){ 
 
\t \t $.ajax({ 
 
\t \t \t type: "POST", 
 
\t \t \t url: "file.php", 
 
\t \t \t success:function(data){ 
 
\t \t \t \t console.log("test data : "+data); 
 
\t \t \t } 
 
\t \t }); 
 
\t \t $(document.body).delay(1000).show(1, repeat); 
 
\t } 
 
\t repeat(); 
 
}); 
 
</script>
但是,我從來沒有顯示的$ _ POST的內容。

幫助將不勝感激thx!

+0

您是否正在嘗試跨服務器ajax? – Poria

+0

你試過調試你的jQuery嗎?即在ajax之前記錄一些東西。 – Ale

+0

我的Ajax代碼和我的php文件在同一個服務器上。他只是等着被PHP調用來實現網頁 – CoderCoder

回答

0

你的data在ajax中的值是undefined,這就是爲什麼你不看它。 $_POST顯示您在php中的價值,因爲在那裏定義了data

<script type="text/javascript"> 
$(function() { 
    function repeat(){ 
     $.ajax({ 
      type: "POST", 
      url: "file.php", 

      data: NEEDS VALUE HERE TO GET BELOW, 

      success:function(data){ 
       console.log("test data : "+data); 
      } 
     }); 
     $(document.body).delay(1000).show(1, repeat); 
    } 
    repeat(); 
}); 
</script> 
+0

我不認爲這是問題,因爲控制檯每秒都會顯示「測試數據:0」。所以看起來ajax從php獲取數據。 – CoderCoder

相關問題