使用jQuery Repeater控制器时代码正确但UI未显示内容
问题:代码逻辑无误但页面UI未显示对应内容
我编写的代码逻辑没问题,但页面上始终不显示对应内容,相关代码如下:
HTML代码
<div id="sec-feature-modules" class="accordion my-5"> </div>
JavaScript代码
$("#sec-feature-modules").repeater({ endpoint: "/content/files/features.json", mappingFunction: (features) => features.modules, messageNoResult: "Sorry, there are no modules available at this time. Please check back later.", cssClassNoResult: "empty", });
排查与解决方向
- 确认依赖加载顺序:先确保jQuery已正确引入页面,再加载repeater插件,避免因依赖缺失导致
repeater方法未定义。 - 检查接口请求状态:打开浏览器开发者工具(F12)的Network标签,查看
/content/files/features.json请求:- 核对HTTP状态码:200为正常,404说明文件路径错误,500则是服务器端问题。
- 检查返回的JSON结构:确认
features.modules存在且是数组格式,若结构不匹配,mappingFunction无法提取到数据。
- 查看控制台报错:切换到Console标签,排查是否有JS语法错误、JSON解析失败或repeater初始化异常等提示。
- 确保DOM加载完成后执行代码:将JS代码包裹在
$(document).ready()中,避免DOM元素未渲染就执行初始化:$(document).ready(function() { $("#sec-feature-modules").repeater({ endpoint: "/content/files/features.json", mappingFunction: (features) => features.modules, messageNoResult: "抱歉,目前没有可用模块,请稍后再试。", cssClassNoResult: "empty", }); }); - 验证无结果提示是否生效:若接口返回的
modules为空数组,检查页面是否显示了设置的无结果文本,确认repeater是否正常初始化。 - 排查样式冲突:检查
empty类的CSS样式,避免因display: none、颜色与背景重合等设置导致提示文本被隐藏。
内容的提问来源于stack exchange,提问作者Erika Mae Baldove
相关产品推荐
相关产品推荐

