[英]unable to print the username onto console in JavaScript
我有一个带有链接 js 的 html 文件
<script type="text/javascript" src="{% static 'js/cart.js' %}">
var user= '{{request.user}}'
</script>
在 cart.js 中,我试图打印用户变量,但我不断收到一条错误消息,提示未定义未捕获的 ReferenceError 用户。 关于如何解决这个问题的任何想法? 这是 cart.js
var updateBtns=document.getElementsByClassName("update-cart")
for(var i=0;i<updateBtns.length;i++){
updateBtns[i].addEventListener('click',function(){
var pid=this.dataset.item
var action=this.dataset.action
console.log('pid:',pid,'action:',action)
})
console.log('USER',user)
if(user=='AnonymousUser'){
console.log('Not logged in')
}else{
console.log('User is logged in')
}
}
根据w3 组织,如果一个<script>
标签有一个src="…"
属性,脚本的内容将被忽略,所以它永远不会评估var user= …
。 您应该使用两个标签:
<script src="{% static 'js/cart.js' %}"/> <script> var user = '{{request.user}}'; </script>
如果js/cart.js
需要 user user
变量,你需要先定义它,所以:
<script> var user = '{{request.user}}'; </script> <script src="{% static 'js/cart.js' %}"/>
我建议在您的浏览器调试器中的行中添加一个断点
var user=...
并重新加载页面。 因此,您可以查看该行是否在 card.js 脚本之前执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.