gpt4 book ai didi

javascript - 由于 MIME 类型,我的 html 出错

转载 作者:搜寻专家 更新时间:2023-10-30 22:42:50 25 4
gpt4 key购买 nike

所以我的项目有问题,我开发了一个 Node js 服务器,现在我想显示一个包含 Vue 脚本的 html 文件,该脚本加载数据,这要归功于另一个 JS 文件中编写的另一种方法。

但是当我尝试在我的浏览器上加载我的 html 文件时,我遇到了这个错误:拒绝从 'http://localhost:8080/src/verbatims.js 执行脚本' 因为它的 MIME 类型('text/html')不可执行,并且启用了严格的 MIME 类型检查。

这是我的 html 代码:

<!DOCTYPE html>
<html lang="fr">

<head>
<meta charset="utf-8">
<meta content="X-Content-Type-Options: nosniff">
<meta http-equiv="X-UA-Compatible" content="IE=edge">

<script src="/src/verbatims.js" type="application/javascript"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.18/vue.min.js"></script>


<title>My project</title>
</head>

<body>
<div id="data">
Le nombre de requête est de : {{ request }}<br>
<button v-on:click="change">Change value</button>
<button v-on:click="stop">Arrêter</button>
</div>

<script>
let app = new Vue({
el:'#data',
data: {
request: "toto",
ite: 0
},
methods: {
change: function() {
changeNbRequest()
},
stop: function() {
clearInterval()
}
}
});

changeNbRequest = function() {
var timer = setInterval(function() {
let verbatim = new Verbatims().list()[ite];
}, 5000);
}
</script>
</body>
</html>

我已经检查了项目中的每种类型的 MIME,但没有任何效果。

有什么想法吗?

非常感谢!

编辑:这是我的服务器代码:

const express = require('express')
const RouterVerbatim = require('./routerVerbatim')
const fs = require('fs')

class Server {

constructor() {
this.app = express()

this.app.get('/', function (req, res) {
res.send('Hello World')
})

this.app.get('/index', function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
fs.readFile(__dirname + '/View/index.html', function (err,data) {
res.end(data);
});
})

this.app.get('../src/verbatims.js', function (req, res) {
res.writeHead(200, {'Content-Type': 'text/javascript'});
fs.readFile('../src/verbatims.js', function (err,data) {
res.end(data);
});
})

this.app.use('/verbatims', new RouterVerbatim().router)
}

start() {
this.app.listen(8080, function() {
console.log('Exemple app listening on port 8080!')
})
}

}
module.exports = Server;

最佳答案

'../src/verbatims.js'

浏览器永远不会在 URL 中发送带有 ../ 的请求。

它会在发送前规范化路径。

您需要将路由指定为/src/verbatims.js


您还应该考虑使用静态文件处理中间件,而不是为每个中间件手动创建路由。

关于javascript - 由于 MIME 类型,我的 html 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50251445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com