首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"Uncaught :意外标记<“(但是等等,还有更多!)

"Uncaught :意外标记<“(但是等等,还有更多!)
EN

Stack Overflow用户
提问于 2018-05-01 20:34:30
回答 1查看 1.1K关注 0票数 2

我正在努力学习如何使用Websockets。我有一个名为WebSocketClient.js的文件,我试图在script文件中导入一个script标记。以下是JSP:

代码语言:javascript
复制
<!DOCTYPE html>

<html>

<head>
	<title>Insert title here</title>
	<link rel="stylesheet" href="css/styles.css">
</head>

<body>
  <h4>${roomHost}'s room</h4>
  <ul id="chat"></ul>
  <form method="post" action="chat/${roomHost}" enctype="application/x-www-form-urlencoded">
    <input type="text" name="message">
    <input type="submit" value="Send">
  </form>
  
  <script type="text/javascript" src="js/WebSocketClient.js"></script>
</body>

</html>

当我在Chrome或Firefox中加载页面时,我会得到错误的Uncaught SyntaxError: Unexpected token <,当我进入DevTools并查看源代码时,我发现它加载的WebSocketClient.js文件只是正在加载的.jsp文件的副本,请求属性roomHost被替换为指向javascript文件的路径:

这太奇怪了,我以前从来没有经历过这样的事情,我在网上找不到任何关于它的东西。WTF正在进行??

  • 我尝试在JSP的顶部添加<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
  • 我试过把<!doctype>改为<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • 我试过完全删除<!doctype>
  • 我尝试过将<script>标记移动到<head>
  • 我在src属性中尝试过不同的路径
  • 我试着把文件移到另一个文件夹,然后从那里加载
  • 我试过更改文件的名称
  • 我尝试导入另一个js文件,但发生了同样的事情(加载的js文件的内容只是.jsp文件的一个副本)。

我知道js文件不是问题,因为我可以从index.jsp (而不是room.jsp)加载它。我以前开发过Java应用程序,我从来没有遇到过这个问题,我不知道是什么原因造成的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-01 23:20:51

我弄清楚是什么原因造成的。页面位于websockets-test/rooms/*,因此它在rooms/js/中查找js文件,而不是在webapp文件夹中查找js/目录。我将script标记中的script路径从js/WebSocketClient.js更改为/websockets-test/js/WebSocketClient.js,现在它起作用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50123445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档