簡體   English   中英

意外的標記縮進

[英]Unexpected token Indent

我在我的路線中寫了一個 javascript function,它使用了一些保存在 tran.jade 文件中的 html,但是當我在瀏覽器上運行它時會出現縮進錯誤。 基本上我想在路由器中創建一個 function 來計算學生的分數,然后使用 express 返回一個視圖。 如果我做錯了,請指導我。

      var express = require('express');
      var router = express.Router();

       /* GET home page. */
       router.get('/', function(req, res, next) {
       res.render('index', { title: 'Express' });
       });
       router.get('/tran', function(req, res, next) {
       var grade = "";  //declare a variable for grade
        var  result="";  //declare a variable for result

        //read the marks
        var engMarks = document.getElementById('txtEnglish').value;
        var kannadaMarks = 
        document.getElementById('txtKannada').value;
        var mathsMarks = document.getElementById('txtMaths').value;
        var scienceMarks = 
        document.getElementById('txtScience').value;

        //calculate the total marks (using double notation technique)
         var totalMarks = engMarks - (- kannadaMarks) - (- mathsMarks) 
        - (- scienceMarks);

        //get the average marks
        var averageMarks = totalMarks / 4;                  

        //find the grade and result using the ternary operator inside 
        the switch statement                  
        switch(


                //usage of ternary operator inside switch

                (averageMarks > 60 && averageMarks <= 100) ? 1 : 
                (averageMarks > 50 && averageMarks < 60) ? 2 : 
                (averageMarks > 40 && averageMarks < 50) ? 3 : 0 
              )

                {
                    case 1 :grade = "A";result="First Class";break;
                    case 2 :grade = "B"; result="Second Class";break;
                    case 3 :grade = "C"; result="Third Class";break;
                    case 0 :grade = "D"; result="Fail";break;
                }


        //display the results   
        document.getElementById('txtStudentName').value = 
        document.getElementById('txtName').value;
        document.getElementById('txtStudentClass').value = 
        document.getElementById('txtClass').value;
        document.getElementById('txtTotalMarks').value = totalMarks;
        document.getElementById('txtAvgMarks').value = averageMarks;
        document.getElementById('txtGrade').value = grade;
        document.getElementById('txtResult').value = result;
        res.render('tran');

        }
        );


        module.exports = router;

您需要了解服務器和客戶端之間的區別:

  • 服務器——響應來自客戶端的 HTTP 請求的程序,在雲中運行; 在您的情況下,這是建立在 Node.js 之上的 Express 服務器; 服務器向客戶端“提供”HTML 代碼
  • 客戶端——向服務器發送 HTTP 請求的程序,通常是 web 瀏覽器,例如 Google Chrome; 客戶端呈現從服務器獲取的 HTML 代碼

在您的代碼示例中,您正在混合服務器和客戶端代碼並嘗試在服務器上運行它。 當 Node.js 執行此行時,您將收到錯誤“文檔未定義”:

document.getElementById('txtStudentName').value = 
    document.getElementById('txtName').value;

這是因為documentgetElementId訪問的是從客戶端在瀏覽器中呈現的 HTML 創建的文檔 object model (DOM)。 在服務器上,沒有 DOM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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