javascript - 为什么我无法从codeigniter中的数据库返回的js函数中获取数据

标签 javascript php codeigniter

我的js函数是

function view_customerTOTable(){

    var name = $('#name').val();
    //alert(name);
    $.ajax({
    type: 'post',
    url: 'viewCustomerData',
    data: name,
    success: function (data) {
        alert('test'+data);

        var result = JSON.parse(data);

        var datas = [];

        for (var x = 0; x < result.length; x++) {
            datas.push('<tr id="op' + x + '">'
                    + '<td hidden="true">' + result[x].C_email + '</td>'
                    + '<td>' + result[x].C_clientint + '</td>'
                    + '<td align="center">' + result[x].C_status + '</td>'
                    + '<td align="center">' + result[x].C_clientcode + '</td>'
                    + '<td align="center">' + result[x].C_name + '</td>'
                    + '<td align="right">' + result[x].C_nic + '</td>'
                    + '<td align="center">'
                    + '<input type="button" class="btn btn-warning" value="view">'

                    + '</td>'
                    + '</tr>');
        }

        $j('#bdy_customer_details').html(datas);
        //alert(data);

    },
    error: function(){
        alert('error');
    }
});



}

Controller 功能是

function viewCustomerData(){
         $this->load->model('customer/customer_model');
    echo json_encode($this->customer_model->loadCustomerDetails());

}

从此模型函数返回的值

     function loadCustomerDetails(){
     //$query = $this->db->select('*')->from('customer');
     $sql = "SELECT * FROM customer where C_name = '{$_POST['name']}'";
     //$send = $query->mod_select();

     try {
        return $this->db->select($sql);
    } catch (Exception $exc) {
        return $exc->getTraceAsString();
    }


 }

查看页面是

<table id="customer_details"  class="table table-bordered" cellspacing="1" cellpadding="1" width="100%"  >
                <thead>
                    <tr>

                        <td><font type="curlz MT Regular" color="black">Asset Type</font></td>
                        <td><font type="curlz MT Regular" color="black">Client Code</font></td>
                        <td><font type="curlz MT Regular" color="black">Contract No</font></td>
                        <td><font type="curlz MT Regular" color="black">Contract Name</font></td>
                        <td><font type="curlz MT Regular" color="black">Customer Name</font></td>
                        <td><font type="curlz MT Regular" color="black">NIC No.</font></td>
                        <td><font type="curlz MT Regular" color="black">View</font></td>
                        <!--<td>Remove</td>-->
                    </tr>
                <thead>
                <tbody id="bdy_customer_details" >   

                </tbody>
                 <tfoot>
                        <tr>
                            <td colspan="2"></td>
                            <td id="tdet1"></td>
                            <td id="tdet2"></td>
                            <td id="tdet3"></td>

                        </tr>
                    </tfoot>
            </table>

我想在表格中显示这些数据。但我无法返回数据。在js函数中,函数移动到成功点。但 json.parse 点它不起作用

最佳答案

在您的 Controller 操作中更改以下代码。在您的代码中,您不会从模型返回数据。它仅返回测试。

die(json_encode(array('result' => 'test')));

//as per updated question 

die(json_encode($this->customer_model->loadCustomerDetails()));

删除此 header

header('Content-Type: application/json');

更新了 JavaScript 代码

    var result = JSON.parse(data);

    var datas = '';

    for (var x = 0; x < result.length; x++) {
        datas   = '<tr id="op' + x + '">'
                + '<td hidden="true">' + result[x].C_email + '</td>'
                + '<td>' + result[x].C_clientint + '</td>'
                + '<td align="center">' + result[x].C_status + '</td>'
                + '<td align="center">' + result[x].C_clientcode + '</td>'
                + '<td align="center">' + result[x].C_name + '</td>'
                + '<td align="right">' + result[x].C_nic + '</td>'
                + '<td align="center">'
                + '<input type="button" class="btn btn-warning" value="view">'

                + '</td>'
                + '</tr>';
       // if((result.length - 1) === x){
          $('#bdy_customer_details').append(datas);
        //}
    }

关于javascript - 为什么我无法从codeigniter中的数据库返回的js函数中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29204570/

相关文章:

javascript - 与 js bin 相比,Mocha 测试返回不同的答案

php - 多表查询

php - 更改购物车中价格的安全方法

Javascript - 控制台中显示 Logo 调整大小错误

javascript - 如何使用页面对象模型中的元素列表

php - 如果字符串以 "xx"开头 (PHP)

php - 他们有免费的 PHP 库可以将 PPT 或 ODT 转换为 PDF

php - SQL 查询在 CodeIgniter 中不起作用?

php - 使用 CodeIgniter、php5 和 MySQL 在数据库上进行实时搜索

javascript - jquery点击函数后保存当前状态