AJAX无法打印元素onclick

时间:2014-09-01 22:34:55

标签: javascript php mysql ajax

我有2个文件,一个名为index.php,另一个名为api.php。我试图从我的数据库中检索一些数据,并且在尝试将代码放入我的项目之前,我已经完成了这个简单的示例。在api.php文件中,我得到了以下内容:

$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>

问题是它似乎没有&#34;追加&#34;没什么,我不知道我做错了什么。我知道我应该使用mysqli,我会解决这个问题。另外:我如何发送&#34;来自index.php的api.php的$ idM(例如已经在index.php中定义的$ id)?

1 个答案:

答案 0 :(得分:0)

单击按钮时未调用您的函数,在onclick属性中您没有设置函数,而是编写要执行的代码。见下面的例子

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

要发送ID,您可以使用数据参数

data: {id: 67},      

由于这是一个GET请求,您可以使用php超级全局$ _GET来检索值$_GET['id']