我正在尝试使用express从html表单获取数据 但是当我尝试使用app.use(express.static(__ dirname +“ public”);加载我的静态文件时; 在devtools中,它显示无法加载我的响应数据 谁能告诉我为什么会这样,并且有解决办法
这是第一张图片中的代码
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({extended:true}));
app.use(express.static(__dirname+'public'));
app.get("/",function(req,res){
res.sendFile(__dirname + "/public/bmiCalculator.html");
});
app.post("/",function(req,res){
console.log(req.body);
res.send("hello");
});
app.listen(300,function(){
console.log("Server Hosted OK");
});
答案 0 :(得分:0)
提供给静态中间件的路径不正确。以下代码__dirname+'public'
将为您提供Calculatorpublic
,即/
丢失。您可以做的是在/
之前添加public
:
app.use(express.static(__dirname, "/public"));
另一种变化:
const path = require('path');
app.use(express.static(path.join(__dirname, "public")));