使用Jinja渲染到JS会产生无效的数字而不是字符串
Rendering to JS with Jinja produces invalid number rather than string
我想把一个字符串传递给模板中的一些JavaScript。但是,当JavaScript运行时,该字符串被解释为一个(无效)数字。如何将字符串传递给JavaScript变量?
@app.route('/loadNext')
def loadNext():
return render_template('next.html', value='1.1.1.1')
$("#loadtable").ready(
function(){
var tmp = {{ value }};
alert(tmp);
});
问题是
{{ '1.1.1.1' }}
渲染为
1.1.1.1
报价不包括在内。JavaScript试图将其解析为数字,但无法。幸运的是,Flask包含了一个Jinja过滤器。
var tmp = {{ value|tojson }};
tojson
将在字符串周围包含引号,并为数值省略它们。Jinja呈现的过滤值是具有正确类型的有效JavaScript。
相关文章:
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 测试索引值是否等于某个数字的倍数
- 将数字转换为一定数量的硬币
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 键入最后一位数字后自动提交
- 如何在javascript中迭代数字列表
- Javascript逻辑运算符和字符串/数字
- 如何在javascript中获得与特定数字相等的随机数
- 如果元素's的ID以数字开头
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 电话正则表达式,但希望使所有 10 位数字都相同无效
- JavaScript-信用卡16位验证,并且必须是无效的数字
- 为什么数组中的数字有效,而数组中的字符串无效
- 限制文本框输入2到998之间的数字无效
- 使用RegExp进行数字验证,以防止无效的用户输入
- 使用Jinja渲染到JS会产生无效的数字而不是字符串
- ValueError:以10为基数的int()无效文字.如何固定字母数字值
- Highcharts如果标题包含数字,则显示无效数据
- 编程设置数字输入值无效
- 如果输入了太多数字,我如何保持AngularJS中使用ng模式验证的已验证屏蔽美国电话号码无效