៚竹ོོ蜻蜓 2021-02-06 00:23 采纳率: 100%
浏览 112
已采纳

html获取flask数据库数据后怎么传到JS当中使用?

html从flask获取了数据库的数据,怎么将获取的数据变成二维数组后供JS使用呢?

下面就是我从flask获取了userthings这个变量,是从数据库中获取的符合条件的若干行,

我现在只能像代码段中的这样循环中调取不同行中的不同列的value

{% for thing in userthings %}
    <span id="title" style="display:none" o="{<!-- -->{thing.title}}"></span>
    <span id="beginTime" style="display:none" o="{<!-- -->{thing.beginTime}}"></span>
    <span id="endTime" style="display:none" o="{<!-- -->{thing.endTime}}"></span>
    <span id="tag1" style="display:none" o="{<!-- -->{thing.tag1}}"></span>
{% endfor %}

后面获取的时候就也只是获取了一个值

var title = document.getElementById('title').getAttribute('o');
var beginTime = document.getElementById('beginTime').getAttribute('o');
var endTime = document.getElementById('beginTime').getAttribute('o');

想求助一下,怎么把整个二元数组传到JS部分

想求助一下,怎么把整个二元数组传到JS部分

我尝试直接获取userthings,但是JS获取的部分也不知道如何处理成可以用下标调用的数组

<div id="uthings" o="{<!-- -->{userthings}}" style="display:none"></div>
var userthings = document.getElementById('uthings').getAttribute('o');
alert(userthings);
alert(userthings[0]);

发现直接变成字符串了

问题有点乱,感谢阅读,希望得到大神帮助!

  • 写回答

1条回答 默认 最新

  • AllPromise 2021-02-06 11:25
    关注

    你这个格式不是正常的,你得替换字符,把 = 替换成 :  ,括号替换成大括号,row这个没有也替换了,最后用的eval函数去掉中括号外面的引号,下面的函数你试试看
    arr = eval(arr.replace(/=/g,':').replace(/[()]/g,'}').replace(/row}/g,'{'));
    console.log(arr[0])

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页
  • ¥20 如何通过代码传输视频到亚马逊平台
  • ¥15 php查询mysql数据库并显示至下拉列表中
  • ¥15 freertos下使用外部中断失效
  • ¥15 输入的char字符转为int类型,不是对应的ascall码,如何才能使之转换为对应ascall码?或者使输入的char字符可以正常与其他字符比较?
  • ¥15 devserver配置完 启动服务 无法访问static上的资源
  • ¥15 解决websocket跟c#客户端通信
  • ¥30 Python调用dll文件输出Nan重置dll状态