Flask API向JavaScript传数据失败:tojson过滤器报错求助
Flask传值到JavaScript问题解决方法
解决
tojson过滤器报错的问题
你碰到的tojson未定义问题,没必要纠结过滤器,换更稳妥的方式:- Flask端直接把值转成JSON字符串再传递:
import json from flask import render_template # 接口代码修改为 return render_template('login.html', statef=json.dumps("0")) - 前端JS直接接收这个转义后的字符串:
var curr = {{ statef }};
- Flask端直接把值转成JSON字符串再传递:
更简单的字符串传递方案
因为你的值是字符串"0",完全可以直接用引号包裹渲染,不需要过滤器:<script> var stateElement = document.getElementById("state"); var curr = "{{ statef }}"; stateElement.innerHTML = curr; console.log(curr); console.log(stateElement); </script>这里把原代码里的变量名
statef改成stateElement,避免和后端传过来的变量名冲突,减少混淆。排查渲染是否正常
打开浏览器开发者工具查看页面源码,检查curr=后面是否正确渲染出了"0"。如果源码里还是显示{{statef|tojson}},说明模板没被Flask正确渲染,要确认路由是否正确指向了这个模板文件。
内容的提问来源于stack exchange,提问作者baraatemp
相关产品推荐
相关产品推荐

