javascript - 为什么脚本标签会自动将 & 转换为 &?
问题描述
我遇到了一个我以前没有遇到过的奇怪问题。我的 html 是通过 Django 模板生成的,包含一些基本代码,这些代码基于带有一些 GET 变量的查询字符串(即“/report1/?filter1=abc&filter2=def”)初始化 DataTable。
<script></script>
然而,突然之间,每当我在标签中写出 Django 模板变量时,它&
就会被转换为&
,如下所示:
<script>
var link = "/report1/?filter1=abc&filter2=def"
</script>
但是,当不在script
标签内时,字符串按原意输出:
"/report1/?filter1=abc&filter2=def"
这是基于完全相同的 Django 模板变量,没有任何更改。
script
导致 & 被编码的原因是什么?这发生在当前版本的 Edge 和 Firefox 中。Django 显然对标签一无所知,<script></script>
所以它一定是浏览器的东西。
任何想法如何防止这种情况发生?这是过去似乎没有发生过的事情。
谢谢!
作为参考,我的 Django 模板如下所示:
{{ string }}<br>
<script>
var link = "{{ string }}"
</script>
解决方案
|safe
好的,所以我搞砸了,当我更新到最新版本时,我忽略了意识到现在需要标记字符串
当然,我是在写完这篇文章后才意识到这一点的。
推荐阅读
- android - 离子 3 SyntaxError:“意外的令牌 =>”
- python - 滚动窗口 REVISITED - 添加窗口滚动数量作为参数 - 向前分析
- c# - 如何在 C# 中重用列表?
- css - 如何创建具有多种不同颜色的边框底部?
- c# - 为从 `this` 类型派生的类型提供扩展方法
- javascript - Firebase 云功能:Promise.all(promise) 的问题
- python - 星号(*)作为python函数中的参数
- c++ - 是否可以在仅使用一个文件的情况下单独编译 c++ 中的类代码(如 .h 和 .cpp)?
- python - 气流时区从UTC更改为CET
- mysql - 有一个元素相等表,计算“唯一”元素的数量