2014-03-25 230 views
2

我想使用php和jquery ajax從mysql數據庫獲取數據。 'process.php'是連接到數據庫並獲取mysql數據的php文件。它在單獨運行時工作,但使用ajax調用時不起作用。有人可以幫助糾正錯誤嗎?這裏是我的html文件:使用php和jquery ajax從mysql數據庫獲取數據

<html> 
<head> 
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    function showRoom(){ 
     $.ajax({ 
      type:"POST", 
      url:"process.php", 
      data:{action:showroom}, 
      success:function(data){ 
       $("#content").html(data); 
      } 
     }); 
    } 
    showRoom(); 
}); 
</script> 
</head> 
<body> 
<div id="content"></div> 
</body> 
</html> 

這裏是我的process.php文件

<?php 
$link=mysqli_connect("localhost","root","raspberry","homebot"); 

if (mysqli_connect_errno()) 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 

$action=$_POST["action"]; 
if($action=="showroom"){ 
    $query="SELECT * FROM user"; 
    $show=mysqli_query($link,$query) or die ("Error"); 
    while($row=mysqli_fetch_array($show)){ 
     echo "<li>$row['name']</li>"; 
    } 
} 
?> 
+1

什麼不起作用?你有錯誤嗎?它是什麼?你做了什麼調試? –

+0

我沒有得到一個錯誤,但沒有打印。預計從MySQL數據庫打印($ row [name]) – thomas

+0

在'while'前加上'if(!mysqli_num_rows($ show))echo「no result」'。也許查詢不會返回任何內容?或者嘗試將'name'放在引號中。 –

回答

4

,我們在您的AJAX呼叫的兩個語法錯誤:

$(document).ready(function(){ 
    function showRoom(){ 
     $.ajax({ 
      type:"POST", 
      url:"process.php", 
      data:{action:"showroom"}, 
      success:function(data){ 
       $("#content").html(data); 
      } 
     }); 
    } 
    showRoom(); 
}); 

請記住,jQuery的AJAX期望一個對象作爲參數。在對象內部的語法是

{ key : value } 

你有TYPE =「POST」定義對象鍵時,它是聲明語法正確,但不正確的。

其次,上述對象的數據屬性也應該是一個對象。因此,而不是行動=陳列室應該

{action:"showroom"} 
+0

編輯。謝謝! – amenadiel

1

你做了錯誤的代碼:

echo "<li>$row['name']</li>"; 

這應該是:

echo "<li>".$row['name']."</li>"; 

嘗試......

相關問題