gpt4 book ai didi

javascript - Spring mvc 加载 JS 时出现 Uncaught SyntaxError : Unexpected token <

转载 作者:行者123 更新时间:2023-11-28 18:16:57 25 4
gpt4 key购买 nike

我正在使用 Spring 引导。我有一个简单的测试应用程序的结构:

enter image description here

我在 TestController 中所做的是获取 2 个路径变量并加载 index.html:

@Controller
public class TestController {

@RequestMapping("/{vara}/{varb}")
public String index(@PathVariable(value="vara") String vara, @PathVariable(value="varb") String varb) {
return"/index.html";
}
}

index.html 是空的、干净的 html 页面:

<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
TEST
</body>
</html>

所以在我的浏览器中输入localhost:8080/abbas/mirza,一切看起来都很好,并且 html 页面可以轻松加载。我有 2 个 js 文件,test.js/js/testb.js,它们都包含这行代码。

var s = {}; 

现在我添加这个

<script src="/test.js"></script>

一切都还好,我可以查看 test.js 代码,但是当我添加

<script src="/js/testb.js"></script>

页面抛出异常

Uncaught SyntaxError: Unexpected token <

当我尝试打开 testb.js 文件时,它会显示这个

enter image description here

如果我将 testb.js 移动到 web 应用程序本身,它将毫无问题地加载。我是使用 Spring mvc 的新手,并且仍然对有关路由和访问资源的所有配置感到困惑。

知道我做错了什么吗?

编辑:(链接到 github) https://github.com/arashzz/test22

最佳答案

您使用的 @RequestMapping 模式非常广泛,以至于 JavaScript 文件 testb.js 的路径与其匹配,因此提供索引页面来代替您的 js 文件导致发生语法错误。

Controller :

@RequestMapping("/{vara}/{varb}")

JavaScript 路径:

/js/testb.js

这与 vara=jsvarb=testb.js

的模式匹配

您的其他 JavaScript 文件位于 /test.js,因此与模式不匹配,但服务正常。

解决方案:

将 @RequestMapping 模式调整为更窄的内容,例如:

@RequestMapping("/placeholder/{vara}/{varb}")

关于javascript - Spring mvc 加载 JS 时出现 Uncaught SyntaxError : Unexpected token <,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40660401/

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