2014-09-01 53 views
-1

我有2個文件,一個名爲index.php和一個名爲api.php。我試圖從我的數據庫中檢索一些數據,並在嘗試將代碼放入我的項目之前完成了這個簡單示例。在api.php文件我已經得到了以下幾點:AJAX無法打印元素onclick

$connessione=mysql_connect(DB_HOST,DB_USER,DB_PASS) or die(mysql_error()); 
$scelta_db=mysql_select_db(DB_NAME) or die(mysql_error()); 
$idM=67; 

$result = mysql_query("SELECT * FROM map_comment WHERE idMap ='$idM'"); 
$array = array(); 
while ($row = mysql_fetch_row($result)) 
{ 
$array[] = $row; 
} 

echo json_encode($array); 

雖然在index.php:

<html> 
<head> 
<script language="javascript" type="text/javascript" src="jquery.js"></script> 
</head> 
<body> 

<h3>Output: </h3> 
<div id="output">Attacco qua sotto</div> 
<button onclick ='show_comments'>Carica commenti </button> 
<script id="source" language="javascript" type="text/javascript"> 

function show_comments() 
{ 

$.ajax({ 
    url: 'api.php',     
    data: "",       
    dataType: 'json',     
    success: function(rows)   
    { 
    for (var i in rows) 
    { 
     var row = rows[i]; 

     var idU = row[1]; 
     var text_map = row[3]; 

    $('#output').append("<b> idU: </b>"+idU+"<b>text </b>"+text_map) 
    .append("<hr />"); 

    } 
    } 
}); 

}; 
</script> 

</body> 
</html> 

的問題是,它似乎並不「追加」沒事,我不知道是什麼我做錯了。我知道我應該使用mysqli,我會解決這個問題。 Plus:我怎樣才能從index.php中將$ idM「發送」給api.php(例如,已經在index.php中定義了一個$ id)?

回答

0

當你點擊按鈕時,你的函數沒有被調用,onclick屬性中沒有設置函數,而是編寫代碼來執行。見下面的例子

<button onclick ='show_comments()'>... 

要發送的ID,您可以使用數據參數

data: {id: 67},  

因爲這是你可以使用PHP超全局變量$ _GET檢索值$_GET['id'] GET請求。

+0

好吧,我想我明白了。那麼點擊按鈕後我怎麼能調用這個函數呢?我有點困惑:-S對不起! – smart548 2014-09-01 22:54:20

+0

該死!我忘了括號!太笨了,太累了! Thx非常! :)我會嘗試將該代碼放入我的主項目中,希望它能夠正常工作;) – smart548 2014-09-01 23:01:24