我正在尝试使用express和ajax在测试站点上测试一些api调用,但是如果我将js脚本分成自己的文件,则会出现以下错误,
“ http://localhost:9000/userProfileFunctions.js”中的资源为 由于MIME类型(“ text / html”)不匹配而被阻止 (X-Content-Type-Options:nosniff)。
如果我将所有内容都保留在同一个html文件中,则可以正常工作,但这更像是解决问题的创可贴。我什至将express app.use标头设置为“ X-Content-Type-Options:nosniff”,但仍然无法使用
main.html
<html>
<head>
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous">
</script>
<script src="userProfileFunctions.js" ></script>
</head>
<body>
<form>
<h4>GET REQUEST USERS PROFILE</h4>
UUID: <input id="getUserInput" type="text" name="UUID"><br>
<input id="getUserProfile" type="button" value="submit">
</form>
</body>
</html>
app.js
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
答案 0 :(得分:1)
这是因为文件的位置已更改。检查路径,并使用正确的位置更新脚本的src
标签。
/ChangeLocation/userProfileFunctions.js
示例:
<script type="application/javascript" src="/NewLocation/userProfileFunctions.js/">
答案 1 :(得分:1)
答案 2 :(得分:0)
将该JS文件放在与“导入” html文件相同的目录中。 我已经解决了同样的问题。