使用layui做表单数据展示时遇到的问题包括layui is not defined,请求异常,错误提示:parsererror,只有表头可以显示出来数据却显示不出

layui表格数据加载问题

最近在使用layui在前端以表格的形式展示数据,却遇到了一些问题,下面说一下我的解决办法,避免大家踩坑。

首先是layui引入的问题即layui is not defined,大家可以去layui官网下载layui到本地并在前端页面中使用layui,注意href参数以及src参数要写你保存的layui的路径,例如:

<link rel="stylesheet" href="../static/layui-v2.7.6/layui-v2.7.6/layui/css/layui.css" media="all"/>
<script type="text/javascript" src="../static/layui-v2.7.6/layui-v2.7.6/layui/layui.js"></script>

最难的还是数据展示不出来的问题

使用layui定义的表头能显示出来,但是对应的数据却死活显示不出来,包括我用Bootstrap也是这样,我解决这个问题用了一下午也没解决,我之前一直以为是后端返回的json数据样例有问题,于是我去官网反复看,一直是按照他给的样例返回的数据,

{
    "code": 0,
    "msg": "",
    "count": 1000,
    "data": [
        {
            "id": 10000,
            "username": "user-0",
            "sex": "女",
            "city": "城市-0",
            "sign": "签名-0",
            "experience": 255,
            "logins": 24,
            "words": 82830700,
            "classify": "作家",
            "score": 57
        },
        {
            "id": 10001,
            "username": "user-1",
            "sex": "男",
            "city": "城市-1",
            "sign": "签名-1",
            "experience": 884,
            "logins": 58,
            "words": 64928690,
            "classify": "词人",
            "score": 70.5
        }]
}

但是返回的数据却一直在前端显示不出来,于是我想到可能是数据的问题,于是我手动写了一个数据样例并且在后端返回,结果我手动写的样例成功在前端展示了出来,这也验证了确实是数据的问题,后来我发现是我的数据中有的键的值是nan即缺失值,于是我将nan替换成了字符串null,问题得到了解决。但是我目前还不知道为什么会这样,如果有大佬知道可以说明一下。

    for i in range(len(show_data)):
        for key in show_data[i].keys():
            print(key, show_data[i][key])
            if str(show_data[i][key]) == 'nan':
               show_data[i][key] = 'null'

当你在使用Layui框架开发,遇到了'layer is not defined'的错误提示,这通常是因为`layer`模块没有被正确地引入或初始化。为了避免这类错误,你需要确保在调用`layer`的函数之前,使用`layui.use()`方法来正确加载`layer`模块。下面是一个具体的操作示例: 参考资源链接:[Layui中layer报错解决:非独立版声明与实例演示](https://wenku.youkuaiyun.com/doc/6401aca0cce7214c316ec89e?spm=1055.2569.3001.10343) 首先,确保你的Layui库已经通过`<script>`标签正确引入。接下来,在你的JavaScript代码中,使用`layui.use()`来指定需要加载的模块,并在回调函数中执行你的逻辑代码: ```javascript layui.use(['layer'], function(){ var layer = layui.layer; // 通过模块加载,确保layer可用 // 现在可以安全地使用layer模块提供的方法了 layer.msg('这是一个消息弹窗'); }); ``` 这段代码首先使用`layui.use()`方法加载了`layer`模块,`layer`模块被赋值给`layer`变量,此后你就可以在回调函数中使用`layer`模块提供的各种功能了。这种按需加载的方式不仅可以减少不必要的资源浪费,而且还能保证模块的正确加载,避免了`layer is not defined`的错误。 此外,如果你是在事件监听或者其他异步操作中使用`layer`模块,记得在使用前始终通过`layui.use()`进行模块的声明和加载。这一步骤是确保`layer`模块能被正确引用的关键。通过以上步骤,你应该能够解决在使用Layui框架遇到的`layer`模块报错问题。 为了深入理解和掌握Layui框架中`layui.use()`的使用方法及其背后的模块化设计理念,建议阅读这份资料:《Layui中layer报错解决:非独立版声明与实例演示》。这份资源通过实例演示和详细解释,帮助开发者彻底理解如何在Layui框架中正确引入和使用`layer`模块,从而避免常见的报错问题。 参考资源链接:[Layui中layer报错解决:非独立版声明与实例演示](https://wenku.youkuaiyun.com/doc/6401aca0cce7214c316ec89e?spm=1055.2569.3001.10343)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值