首页 新闻 会员 周边 捐助

js怎么获取ftl页面的动态列表数据?

0
悬赏园豆:30 [已解决问题] 解决于 2023-12-18 09:21

已经搞一下午了,老框架,用action查询数据封装给peopleList 后转发给ftl页面,然后ftl页面用以下列表进行循环遍历输出:
<#list peopleList as people>
<tr>
<td>${people.id}</td>
<td>${people.address}</td>
<td>${people.name}</td>
</tr>
</#list>
我该怎么在js中取到peopleList的所有查询结果呢?

With_Lilith的主页 With_Lilith | 菜鸟二级 | 园豆:362
提问于:2023-11-16 09:39

直接去post方法拿这个变量就好了。

CallMeEureka 1年前
< >
分享
最佳答案
0

peopleList的所有查询结果 是调用接口查询的?
查询到后,放到某个 常量或变量 里面不就可以了?

action,,<form>下的 action属性?
要不要改为 纯正的 ajax 查询呢?
https://developer.mozilla.org/zh-CN/docs/Web/Guide/AJAX

收获园豆:10
快乐的欧阳天美1114 | 老鸟四级 |园豆:4010 | 2023-11-16 10:48

还可以使用 JavaScript HTML DOM
https://www.runoob.com/js/js-htmldom.html
查找到 所有展示数据袁术的 DOM对象,getElementById 啥的,再找到里面的 值 (<td>的innerValue?)

快乐的欧阳天美1114 | 园豆:4010 (老鸟四级) | 2023-11-16 10:50

目前我是action封装到一个传输对象里发送到ftl页面,然后用js拿到这个数据做处理,问题是有些框架会识别ftl页面这个数据的字符串,有非法字符录入的情况,不过大部分页面都能兼容,暂时用这个方案做处理了

With_Lilith | 园豆:362 (菜鸟二级) | 2023-12-18 09:21
其他回答(2)
0

不能和vue一样,数据定义到js里么

收获园豆:10
王站住 | 园豆:236 (菜鸟二级) | 2023-11-16 10:08
0

你可以使用AJAX或Fetch API来在JavaScript中获取后端传递的peopleList

以下是一个基本的示例:

// 使用jQuery Ajax
$.ajax({
    url: '/your_action_url', // 替换为实际的Action URL
    type: 'GET',
    success: function(response) {
        var peopleList = response.peopleList;
        // 你现在可以操作peopleList了,例如遍历它:
        for(var i = 0; i < peopleList.length; i++) {
            console.log(peopleList[i]);
        }
    }
});

// 或者使用Fetch API
fetch('/your_action_url') // 替换为实际的Action URL
.then(response => response.json())
.then(data => {
    var peopleList = data.peopleList;
    // 你现在可以操作peopleList了,例如遍历它:
    for(var i = 0; i < peopleList.length; i++) {
        console.log(peopleList[i]);
    }
});

/your_action_url 应该被替换为真正的请求URL,这个URL应返回包含peopleList的JSON对象。请确保后端代码已经正确配置并能够返回正确的数据。

然后,你就可以在回调函数(success 对于Ajax,then 对于Fetch)里处理 peopleList,比如遍历它、显示在页面上等。

另外,如果你想在Ftl页面上直接使用peopleList,则不需要用JS再次获取,可以直接在ftl模板里面使用peopleList

收获园豆:10
npe0 | 园豆:1502 (小虾三级) | 2023-12-12 16:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册