Can';t获取click函数以使用ajax和php

Can';t获取click函数以使用ajax和php,php,jquery,mysql,ajax,json,Php,Jquery,Mysql,Ajax,Json,这是代码。我可以从数据库中很好地查询,并在顶部回显json格式的结果。现在,在稍后的页面中,我想使用单击功能在单击按钮时再次显示它们。不能让它工作。停 <?php require_once ('mysqli_connect.php'); $q = "SELECT * FROM variables;"; $r = mysqli_query($dbc, $q); $array = mysqli_fetch_row($r);

这是代码。我可以从数据库中很好地查询,并在顶部回显json格式的结果。现在,在稍后的页面中,我想使用单击功能在单击按钮时再次显示它们。不能让它工作。停

<?php
require_once ('mysqli_connect.php');

$q = "SELECT * FROM variables;";
$r = mysqli_query($dbc, $q);         
$array = mysqli_fetch_row($r);                              


  echo json_encode($array);

    ?>
    <html>
  <head>
    <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
  </head>
  <body>

      <h2> Client example </h2>
     <h3>Output: </h3>
  <form action="api.php" method="post">
    <p><input type="button" name="calc" id="btn" value="Display" /></p>
  </form>

  <div id="output">this element will be accessed by jquery and this text replaced</div>

  <script id="source" language="javascript" type="text/javascript">
    $(document).ready(function() {
   $("#btn").click(
        function() { 

    $.ajax({                                      
  url: 'api.php',                            
  data: "",                        

  dataType: 'json',                   
  success: function(data)        
  {
    var id = data[0];             
    var vname = data[1];          

    $('#output').html("<b>id: </b>"+id+"<b> name: </b>"+vname); 

  } 
});
  });
});

  </script>
  </body>
</html>

客户示例
输出:

jquery将访问此元素并替换此文本 $(文档).ready(函数(){ $(“#btn”)。单击( 函数(){ $.ajax({ url:'api.php', 数据:“, 数据类型:“json”, 成功:功能(数据) { 变量id=数据[0]; var vname=数据[1]; $('#output').html(“id:+id+”名称:+vname); } }); }); });
检查您的浏览器控制台,了解单击是否有效。 如果他们将请求发送到正确的页面 但在此之前,请更改您的代码

...
$(document).ready(function() {
$("#btn").click(
    function() { 
...

试用

我这样修改了你的代码

$(document).ready(function() {
    $("#btn").click(function() {

        $.getJSON( 'api.php')
        .done(function( data ) {
        $.each( data, function( key, val) { 
            $('#output').html("<b>id: </b>"+val.id+"<b> name: </b>"+val.vname); 
        });
        });
    });
});
$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
$.getJSON('api.php')
.完成(功能(数据){
$.each(数据、函数(键、val){
$('#output').html(“id:+val.id+”名称:+val.vname);
});
});
});
});

您需要将JSON存储在一个JavaScript变量中。@shmosel不是用var id=data[0]来实现的;例如,
$(document)在('click','#btn',函数(e){doajax here})上我确信这些东西在理论上是可行的,但必须有一些基本的东西,我只是公然错过了。这并没有真正起到任何作用。。我肯定错过了其他东西。事实上,我的web控制台说e.preventdefault()不是一个函数。如果jquery被正确加载,请检查控制台到c。我使用了这段代码,但仍然一无所获。我不得不替换“json.json”,因为它给了我一个404找不到。我用api.phpSorry替换了它,我只是替换了它。json.json是我在电脑上做的测试。我在更新中使用了你的代码,它在我的计算机中运行。你有什么错误吗?你能分享你正在使用的json格式吗?
$(document).ready(function() {
    $("#btn").click(function() {

        $.getJSON( 'api.php')
        .done(function( data ) {
        $.each( data, function( key, val) { 
            $('#output').html("<b>id: </b>"+val.id+"<b> name: </b>"+val.vname); 
        });
        });
    });
});