如何获取ajax成功函数接收的数据

时间:2018-04-27 06:22:57

标签: php ajax

在我的程序中,我使用ajax在另一个页面中执行PHP代码......我正在接收由另一个页面执行的数据,这是ajax的URL完美,但我不知道如何从中访问数据在ajax中收到数据.... 代码如下......

ajax代码

<script>
    $(document).ready(function(){

        $('#search_text').keyup(function(){
            var txt = $(this).val();
            if(txt!=''){
                $.ajax({
                    url:"fetch.php",
                    method:"POST",
                    data:{search:txt},
                    datatype:"text",
                    success:function(data){
                        $('#result').html(data);
                    }
                });
            }
            else{
                $('#result').html('');
            }
        });
    });
</script>

fetch.php上的php代码

<?php
    $connect = mysqli_connect("localhost","root","","ajmal");
    $output = '';

    $sql = "SELECT 
    medicinName,pricerPerSheet,dealerID,availAbleAt,district,place FROM 
    medicinalinfo WHERE medicinName LIKE '%".$_POST["search"]."%'";
    $result = mysqli_query($connect,$sql);

    if(mysqli_num_rows($result) > 0)
    {


        $output .= '<h4 align="center" class="h4_search">Search 
        Result</h4>';
        $output .= '<div class="row">';
        $output .= '<div class="col-md-8 col-md-offset-3 well">';
        $output .= '<div class="table-responsive">
                    <table id="getval" id="tbl" class="table table-bordered 
                    table-striped table-hover">
                    <tr>
                        <th>Medicin Name</th>
                        <th>Price Per Sheet</th>
                        <th>Availble At</th>
                        <th>District</th>
                        <th>Area</th>
                    </tr>';
        $output .= '</div>';
        $output .= '</div>';
        $output .= '</div>';
        while ($row = mysqli_fetch_array($result)) {
            $output .= '
                <tbody>
                    <tr>
                        <td>'.$row['medicinName'].'</td>
                        <td>'.$row['pricerPerSheet'].'</td>
                        <td>'.$row['availAbleAt'].'</td>
                        <td>'.$row['district'].'</td>
                        <td>'.$row['place'].'</td>
                   </tr>
                </tbody>
            ';
       }
       $output.='</table>';

       $output.='<script src="//code.jquery.com/jquery-1.11.3.min.js"> 
       </script>';
       $output.='<script>

            var table = document.getElementById(\'getval\');

            for(var i=0; i<table.rows.length; i++){
                table.rows[i].onclick = function(){
                    alert(this.cells[0].innerHTML);
                    alert(this.cells[1].innerHTML);
                    alert(this.cells[2].innerHTML);
                    alert(this.cells[3].innerHTML);
                };
            }

        </script>
        ';
        echo $output;
      }
    else
    {
        echo '<h4 align="center" class="h4_search">Data Not Found</h4>';
    }
?>

现在我想在ajax代码的成功函数中访问收到的数据中的特定数据....说数据正在接收表格我希望得到表格所选行的任何单元格的值。如何从数据 ...

访问我想要的信息

我所要做的就是使用不在ftch.php中的ajax代码

1 个答案:

答案 0 :(得分:1)

1.请从fetch.php删除以下部分: -

$output.='<script src="//code.jquery.com/jquery-1.11.3.min.js"> 
       </script>';
       $output.='<script>

            var table = document.getElementById(\'getval\');

            for(var i=0; i<table.rows.length; i++){
                table.rows[i].onclick = function(){
                    alert(this.cells[0].innerHTML);
                    alert(this.cells[1].innerHTML);
                    alert(this.cells[2].innerHTML);
                    alert(this.cells[3].innerHTML);
                };
            }

        </script>
        ';

2.在您有ajax代码的页面中,在给定代码下面添加以下内容: -

$('#result').on('click','table tr',function(){
  var obj = $(this);
  var html = '';   
  obj.find('td').each(function(){
     html += $(this).html() +',';
  });
  alert($.trim(html));
});

要为单独的变量指定值: -

$('#result').on('click','table tr',function(){
  var obj = $(this);
  var cell1_val =  obj.find('td').eq(0).html();
  var cell2_val =  obj.find('td').eq(1).html();
  var cell3_val =  obj.find('td').eq(2).html();
  var cell4_val =  obj.find('td').eq(3).html();
});