拒绝应用来自 'http://localhost:3000/style.css' 的样式,因为其 MIME 类型 ('text/html')
Refused to apply style from 'http://localhost:3000/style.css' because its MIME type ('text/html')
当我 运行 我的客户端服务器 JS 应用程序
时出现此错误
DevTools 中的控制台错误:
Refused to apply style from 'http://localhost:3000/style.css' because its MIME type
('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
客户代码:
const postData = async ( url = '', data = {})=>{
console.log(data);
const response = await fetch(url, {
method: 'POST',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json',
},
// Body data type must match "Content-Type" header
body: JSON.stringify(data),
});
try {
const newData = await response.json();
console.log(newData);
return newData;
}catch(error) {
console.log("error", error);
}
}
postData('/addMovie', {answer:42});
服务器代码:
const express = require('express')
const bodyParser = require('body-parser');
const app = express()
app.use(bodyParser.urlencoded({extended : false}));
app.use(bodyParser.json());
const cors = require('cors');
app.use(cors());
app.use(express.static('website'))
const port = 3000
app.listen(port, getServerPortInfo)
function getServerPortInfo() {
console.log("Server listening at port " + port)
}
const data = []
app.post('/addMovie', addMovie)
function addMovie (req, res){
console.log(req.body)
console.log("here")
data.push(req.body)
console.log(data)
res.send(data)
}
HTML 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Weather Journal</title>
<link href="https://fonts.googleapis.com/css?family=Oswald:400,600,700|Ranga:400,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div>
<button id="generate" type = "submit"> Generate </button>
</div>
<script src="app.js" type="text/javascript"></script>
</body>
</html>
能否提供一些链接、建议或指示来帮助我找到解决方案?
奇怪的是我没有css文件。
请注意,我已经完成了这个 post,但对我的情况没有帮助:
您指定了:
<link rel="stylesheet" href="style.css">
但是您没有style.css文件。 http://localhost:3000/style.css
的请求导致了 404 错误,您的服务器已经提供了 HTML 响应(mimetype 是 text/html
)。错误说明了一切:
Refused to apply style from 'http://localhost:3000/style.css
' because
its MIME type ('text/html') is not a supported stylesheet MIME type,
and strict MIME checking is enabled.
要更正此问题,可以 link 到具有完整 URL 的实际 style.css,或者删除样式表 link 如果任何地方都没有这样的 style.css 资源。
您需要明确告诉您的 Express 应用将该文件夹视为静态文件夹以保留文件的 MIME 类型。
类似于:
app.use(express.static("./"));
当我 运行 我的客户端服务器 JS 应用程序
时出现此错误DevTools 中的控制台错误:
Refused to apply style from 'http://localhost:3000/style.css' because its MIME type
('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
客户代码:
const postData = async ( url = '', data = {})=>{
console.log(data);
const response = await fetch(url, {
method: 'POST',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json',
},
// Body data type must match "Content-Type" header
body: JSON.stringify(data),
});
try {
const newData = await response.json();
console.log(newData);
return newData;
}catch(error) {
console.log("error", error);
}
}
postData('/addMovie', {answer:42});
服务器代码:
const express = require('express')
const bodyParser = require('body-parser');
const app = express()
app.use(bodyParser.urlencoded({extended : false}));
app.use(bodyParser.json());
const cors = require('cors');
app.use(cors());
app.use(express.static('website'))
const port = 3000
app.listen(port, getServerPortInfo)
function getServerPortInfo() {
console.log("Server listening at port " + port)
}
const data = []
app.post('/addMovie', addMovie)
function addMovie (req, res){
console.log(req.body)
console.log("here")
data.push(req.body)
console.log(data)
res.send(data)
}
HTML 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Weather Journal</title>
<link href="https://fonts.googleapis.com/css?family=Oswald:400,600,700|Ranga:400,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div>
<button id="generate" type = "submit"> Generate </button>
</div>
<script src="app.js" type="text/javascript"></script>
</body>
</html>
能否提供一些链接、建议或指示来帮助我找到解决方案?
奇怪的是我没有css文件。
请注意,我已经完成了这个 post,但对我的情况没有帮助:
您指定了:
<link rel="stylesheet" href="style.css">
但是您没有style.css文件。 http://localhost:3000/style.css
的请求导致了 404 错误,您的服务器已经提供了 HTML 响应(mimetype 是 text/html
)。错误说明了一切:
Refused to apply style from '
http://localhost:3000/style.css
' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
要更正此问题,可以 link 到具有完整 URL 的实际 style.css,或者删除样式表 link 如果任何地方都没有这样的 style.css 资源。
您需要明确告诉您的 Express 应用将该文件夹视为静态文件夹以保留文件的 MIME 类型。
类似于:
app.use(express.static("./"));