在我的Express服務器中,當我點擊上傳按鈕或下載按鈕時,我希望我的服務器在不改變網頁的情況下與檔案系統(fs)一起作業。如何在JS中實作這段代碼?
let express = require('express')。
let Fs = require('fs')。
let path = require('path')。
let URL = require('url')。
let app = express()。
let router = express.Router();
const port = 2020;
app.use(express.static(' Programs'))。
app.use('/', router)。
router.get('/' , (req, res) => {
res.sendFile(path.join(__dirname '/views/UiOfServer.html'>)。
});
router.get('/todo/download' , (req, res) => /span> {
res.send("下載頁面")。
});
router.get('/todo/upload' , (req, res) => /span> {
res.send("upload page") 。
});
app.listen(port, (err, res) =>/span> {
if(err){
console.log(`Server Error: ${err}`)。)
}
else{
console.log(`server started on ${port}`)。
}
})
uj5u.com熱心網友回復:
如果你不希望在點擊按鈕時瀏覽器的當前頁面發生變化或重繪 ,你應該使用AJAX。
您應該使用上傳和下載端點作為 apis,并從您的網頁上呼叫這些 apis。
您可以使用諸如jquery、axios、fetch等庫來使您的作業更輕松
在jquery中的例子
以jquery為例
$.get('/todo/download') 。 done(span class="hljs-params">response => console.log(response))
uj5u.com熱心網友回復:
你的意思是你不希望服務器連續讀寫嗎?如果是這樣,那就試試吧
fs.readFileSync(your_data_url)。
它應該在頂部(也許在let router = express.Router();之后),因為它是同步的,當你加載web頁面時,它只運行一次
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/327648.html
標籤:
