gpt4 book ai didi

java - Spring MVC : X-Content-Type-Options problems, JavaScript 未加载

转载 作者:行者123 更新时间:2023-12-01 09:13:56 25 4
gpt4 key购买 nike

我已经 2-3 天遇到问题了。我的 javascript 文件不再加载,并且出现“X-Content-Type-Options=nosniff”错误。 (我什至没有尝试使用此 header ,它可能会自动添加)

我没有特别编辑任何内容,所以我不明白为什么会突然出现。我在网上搜索过,但没有发现有人有同样的问题。

包含 javascript 文件的代码如下所示:

<script type="text/javascript" src="<c:url value="/lang/${js}_${pageContext.response.locale}.js"/>"></script>

如您所见,文件正在动态加载。我真的不知道我应该向您提供什么详细信息,请随时询问。

Spring 我应该做什么来纠正这个问题?

提前致谢。 :)

编辑:这是我从 app_fr.js 获得的响应 header :

HTTP/1.1 200 
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: text/html;charset=UTF-8
Content-Language: fr
Content-Length: 635
Date: Mon, 21 Nov 2016 18:13:07 GMT

以及请求 header :

GET /lang/app_fr.js HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: */*
Accept-Language: fr,fr-FR;q=0.8,en;q=0.5,en-US;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://localhost:8080/
Cookie: Idea-afded334=6b807a5c-0afc-4400-a66c-2606b8247f4a; JSESSIONID=904C45361C1C62C6071576E49CAE8E8F
Connection: keep-alive

最佳答案

嗯!感谢 Vasilis Vasilatos,我找到了问题。

在我的主 jsp 文件(名为 app.jsp)中,我正在导入动态生成的 javascript 文件(动态名称如下所示:[page]_[locale].js,动态名称用于缓存系统)像这样:

<script type="text/javascript" src="<c:url value="/lang/${js}_${pageContext.response.locale}.js"/>"></script>

在我的 java 代码中,当调用/lang/...js 时, Controller 正在生成本地化值:

@RequestMapping(value="/lang/{param}")
public ModelAndView localization(@PathVariable String param) {
//generate your list from param
return new ModelAndView("localization", "keys", list);
}

Controller 最终调用 localization.jsp,如下所示:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

var Locale = [];
<c:forEach var="key" items="${keys}">
Locale["<spring:message text='${key}' javaScriptEscape='true'/>"] = "<spring:message code='${key}' javaScriptEscape='true' />";
</c:forEach>

如您所见,第一行包含错误的内容:text/html 而不是 application/javascript。更换它,它会正常工作:)

PS:我还是不知道为什么会突然发生这种情况。我的定位系统已经工作了 3 个多月了...

关于java - Spring MVC : X-Content-Type-Options problems, JavaScript 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40720894/

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