[英]Number of lines in a text file (10) is smaller than a specific number (5)
我正在嘗試制作一個應用程序,其中有一個按鈕,單擊該按鈕后,它將計算特定文本文件的行數(在我的情況下,文本文件有 10 行隨機單詞),並比較具有特定數字的文本文件中的行數(在我的情況下為 5),並且如果文本文件中的行數(10)大於特定數字(5),它將控制台。 log('true') 否則它將 console.log('false')。 但由於某種原因,它是 console.log('false'),我不知道它發生的原因,因為 10 大於 5。任何人都可以幫我嗎?
這是我的文本文件中的內容
test
test
test
test
test
test
test
test
test
test
這是我的 json 文件中的內容
{
"data": [
{
"number": 5,
"textFile": "data.txt"
}
]
}
這是我的 ejs 文件中的內容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<% data.data.forEach(function(item) { %>
<div id="shopItem">
<button id="btn">Click Me!</button>
<div id="number" style="opacity: 0;"><%= item.number %></div>
<div id="textFile" style="opacity: 0;"><%= item.textFile %></div>
</div>
<% }) %>
<script src="index.js"></script>
</body>
</html>
這是我的 javascript 文件的內容
document.getElementById('btn').addEventListener('click', function() {
let textFile = document.getElementById('textFile').innerHTML
let number = document.getElementById('number').innerHTML
fetch('/number', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
textFile: textFile
}),
})
.then((Response) => {
return Response.text()
})
.then((nLines) => {
if (nLines >= number) {
console.log('true')
} else if (nLines < number) {
console.log('false')
}
})
.catch((error) => {
console.error(error);
})
})
這是我的 nodejs 文件中的內容
const express = require('express')
const app = express()
const fs = require('fs')
const path = require('path')
app.set('view engine', 'ejs')
app.use(express.static('public'))
app.use(express.json())
app.get('/', (req, res) => {
fs.readFile('data.json', (error, data) => {
if (error) {
res.status(500).end()
} else {
res.render('index.ejs', {
data: JSON.parse(data)
})
}
})
})
app.post('/number', (req, res) => {
const textFile = req.body.textFile
const filePath = path.join(__dirname + `/public/${textFile}`)
const fileData = fs.readFileSync(filePath, 'utf-8')
let nLines = 0;
for( let i = 0; i < fileData.length; ++i ) {
if( fileData[i] === '\n' ) {
++nLines;
}
}
res.json(nLines + 1)
})
app.listen(3000, console.log('Server started!'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.