错误:由于MIME类型(“ text / html”)不匹配而被阻止(X-Content-Type-Options:nosniff)

时间:2019-06-21 18:50:48

标签: javascript jquery html express

我正在尝试使用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();
});

3 个答案:

答案 0 :(得分:1)

这是因为文件的位置已更改。检查路径,并使用正确的位置更新脚本的src标签。

/ChangeLocation/userProfileFunctions.js

示例:

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

答案 1 :(得分:1)

这不是一个非常技术性的答案,但是即使生产版本可行,我在测试中也遇到了同样的错误。当我关闭Firefox(开发版)中的增强跟踪保护时,错误消失了。

enter image description here

答案 2 :(得分:0)

将该JS文件放在与“导入” html文件相同的目录中。 我已经解决了同样的问题。