【问题标题】:AJAX cannot print elements onclickAJAX 无法在单击时打印元素
【发布时间】:2014-09-01 22:34:55
【问题描述】:

我有 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>

问题是它似乎没有“附加”任何东西,我不知道我做错了什么。我知道我应该使用 mysqli,我会解决这个问题。另外:如何从 index.php 向 api.php“发送”一个 $idM(例如 index.php 中已经定义的 $id)?

【问题讨论】:

    标签: javascript php mysql ajax


    【解决方案1】:

    单击按钮时不会调用您的函数,在 onclick 属性中,您不是在设置函数,而是编写要执行的代码。请参阅下面的示例

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

    要发送id,可以使用data参数

    data: {id: 67},      
    

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

    【讨论】:

    • 好的,我想我已经明白了。那么单击按钮后如何调用该函数呢?我有点困惑:-S 对不起!
    • 该死!忘记括号了!!!如此愚蠢和疲倦!非常感谢! :) 我会尝试将该代码放入我的主项目中,希望它能够工作;)
    猜你喜欢
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多