簡體   English   中英

無法在 JavaScript 中將用戶名打印到控制台

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM