javascript - Django 将数据发送到 Javascript 文件
问题描述
我知道如何将数据从 Django 发送到html
视图
def index(request):
coord = "[[1, 2], [2, 1]"
return render(request, 'index.html', {'coord': coord})
在html
我可以在任何地方使用它{{ coord }}
,例如:
<script type="text/javascript">
var geojsonObject = {
"coordinates": {{ coord }}
};
</script>
但是,当我尝试在我的“index.js”中执行此操作时,出现错误:
未捕获的语法错误:意外的标记“{”
index.html
<script src="{% static 'index.js'%}"></script>
index.js
var geojsonObject = {
"coordinates": {{ coord }}
};
我可以保留所有内容index.html
,但我发现调试起来不切实际。coor
如何通过 html将我的对象传递给 JavaScript?
解决方案
你确定要“渲染”你的 index.js 吗?我想一个更好的方法是修改你的 index.js 以便 if 接受模板化的值作为变量。例如:
索引.html
<button onclick="doStuff({{ coord }})">Button</button>
index.js
function doStuff(coord) {
var geojsonObject = {
"coordinates": coord,
};
}
- 这样,您也不需要将所有代码复制到 index.html 文件中。
- 否则,您可以将一个 ID 传递给您将值模板化到的元素,然后使用
document.getElementById("myElement").innerHTML
它来访问它的值。
推荐阅读
- c# - DataReader 性能问题,奇怪的行为
- scala - scalaxb 生成带有属性的 XML 元素
- python - 我怎样才能抓取这些数据?[BeautifulSoup4 与 Python]
- java - 找不到 Timakeystore.jar
- python - 在python中为html文本加下划线
- java - 无法使用 Apache POI 获取 .docx 文件的超链接标签
- node.js - 使用 express (nodejs) 重定向到生成的 url
- swift - Mac OS 推送通知
- java - 如何在 spring-boot/tomcat (IPv4/IPv6) 中从 nginx 记录 x-forwarded-by
- javascript - 第三方库如何与 ES6 模块一起工作?