小言_互联网的博客

js简单输出数据到前端页面

330人阅读  评论(0)

前端html:test.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="Generator" content="EditPlus®">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    <title>Document</title>
    <style>
        body{text-align: center;}
        #myTable{margin: auto;width:1200px;}
        table,td,th{
            border:1px solid #aaa;
            font-size: 20px;
            border-collapse:collapse;
            border-spacing: 5px;
            table-layout: fixed;
            caption-side:top;
        }
    </style>
</head>
<body>
<div id="div">
    <table id="myTable" class="table">
        <thead>
        <tr>
            <th>ID</th>
            <th>设备</th>
            <th>手机电话</th>
            <th>项目标题</th>
            <th>用户姓名</th>
            <th>一级分类</th>
            <th>二级分类</th>
            <th>留言</th>
            <th>日期</th>
        </tr>
        </thead>
        <tbody>

        </tbody>
    </table>
</div>
<script src="./jquery.min.js"></script>
<script>
    $(function() {
        function Utils() {
        }

        Utils.loadListToTable = function (table_id, tr_template, arr_data, arr_params_name) {
            var table = $(table_id);
            var paramsLen = arr_params_name.length;//获取参数的长度
            //移除已经存在的行
            $(table_id + " tr:not(:first)").remove();

            if (arr_data.length < 1) {
                var non = '<tr rowspan="3"class="text-center"><td colspan="' + paramsLen + '" style="color: #9e9e9e57;">暂无数据</td></tr>'
                $(table_id + " tbody:last").append(non);
            }

            for (var j = 0; j < arr_data.length; j++) {

                var formatParams = {};
                //构造参数
                for (var i = 0; i < paramsLen; i++) {
                    formatParams[arr_params_name[i]] = arr_data[j][arr_params_name[i]];
                }

                var row = tr_template.format(formatParams);
                $(table_id + " tbody:last").append(row);
            }
        };

        //格式化字符串,这个方法网上有很多例子 不懂自行百度吧
        String.prototype.format = function (param) {
            var reg = /{([^{}]+)}/gm;
            return this.replace(reg, function (match, name) {
                return param[name];
            });
        };

        //行的模板 这里的目标表格列数为两列
        var row_templ = '<tr><td>{ID}</td>' +
            '<td>{device}</td>' +
            '<td>{phone}</td>' +
            '<td>{title}</td>' +
            '<td>{name}</td>' +
            '<td>{cate}</td>' +
            '<td>{zcate}</td>' +
            '<td>{message}</td>' +
            '<td>{post_date}</td>' +
            '</tr>';

        //构造参数列表,方便格式化
        var paramsName = ['ID','device','phone', 'title', 'name', 'cate', 'zcate', 'message', 'post_date'];
        //需要注意 行模板{}中的值和paramsName里面的名需要对应,其实可以进一步封装------<

        function loadData(){
            $.ajax({
                type: 'GET',
                url: url,
                data: '',
                dataType: 'json',
                success: function (res, status, xhr) {
                    if (res.code === 200) {
                        $resData = res.data;
                        //加载数据至表格
                        Utils.loadListToTable('#myTable', row_templ, $resData, paramsName);
                    }else{
                        //没有数据
                    }
                },
                error: function (xhr, status, error) {
                    console.log(error);
                }
            });
        }

        loadData()
        //setInterval(loadData, 1800000);
    })
</script>
</body>
</html>



接口数据:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/9/26
 * Time: 15:35
 */
$host = '127.0.0.1';
$user = 'root'; 
$password = '123456';
$db_name = 'test'; 
$port = '3306'; 

$mySQLi = new MySQLi($host, $user, $password, $db_name, $port);
if($mySQLi -> connect_errno){
    die('连接错误' . $mySQLi -> connect_error);
}
$mySQLi -> set_charset('utf8');
$sql = "select * from wp_user_info order by post_date desc";
$res = $mySQLi -> query($sql);

$resp = [
    'code' => -1
];
if(empty($res)){
    $mySQLi -> close();
    echo json_encode($resp);
    exit;
}
$dataArr = [];
while($row = $res -> fetch_object()){
    $dataArr[] = [
        'ID'    => $row->post_id,
        'title' => $row->title,
        'name'  => $row->name,
        'cate'  => $row->cate,
        'zcate'  => $row->zcate,
        'message'  => $row->message,
        'phone'  => $row->phone,
        'post_date'  => $row->post_date,
        'device' => $row->device
    ];

}
$mySQLi -> close();
$resp['code'] = 200;
$resp['data'] = $dataArr;
echo json_encode($resp);
exit;

 

 

 

 

 

 

 


转载:https://blog.csdn.net/qq_37779793/article/details/101472322
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场