uncaught SyntaxError:意外的令牌<第一行js

时间:2017-11-20 18:14:31

标签: javascript jquery html

我在这里看到过很多与此类似的问题,但似乎没有一个问题可以解决我遇到的问题。 我一直收到以下错误 -

未捕获的SyntaxError:意外的令牌<

它说错误是在js文件的第一行,但是源只在html文件的第一行显示一条红线。

还应该提到它在go go服务器上运行。

谢谢你!

这是我的HTML



<!DOCTYPE html>
<html lang="en">

<head>
    <title>Hello, world!</title>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Sourcing jquery and ajax -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

    <!--external script.js file-->
    <script type = "text/JavaScript" src="ChatBot.js"></script>

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
    <style>
        body {
            padding-top: 65px;
            padding-bottom: 100px;
        }
    </style>

</head>

<body>
    <nav class="navbar fixed-top navbar-dark bg-dark">
        <a class="navbar-brand" href="#">Eliza chat bot</a>
    </nav>
    <div class="container-fluid">
        <ul class="list-group">
	 <div class="fixed-bottom bg-dark p-2">
                <div class="container">
                    <div>
                        <ul class="list-group"></ul>
                    </div>
                    <form action="/Chat" method="GET">
                        <div class="form-group">
                            <input type="text" class="form-control" id="userInput" placeholder="Talk to eliza...">
                        </div>
                    </form>
                </div>
            </div>

        </ul>  </div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>

    
</body>

</html>
&#13;
&#13;
&#13;

这是我的js

&#13;
&#13;
const form = $("#userInput");
const listItem = $("#list-group");

//add the keypress function for when the user types an input for eliza to compute

$(document).ready(()=>{

form.keypress(function(event){

    const keyCodes = {
    ENTER : 13
}

let keyCode = event.keyCode;

    //for enter
    if(event.keyCode !=  keyCodes.ENTER){ 
        return;
    }

      event.preventDefault(); 

      const input = form.val();
      form.val(" ");

       listItem.append("<li class='list-group-item list-group-item-success'>"+"User : " + input + "</li>");

      // GET/POST
    const queryParams = {"userInput" : input }
    $.get("/Chat", queryParams)
        .done(function(response){
            var nextListItem = "<li class='list-group-item list-group-item-info'>"+"ELiza : " + response + "</li>";
            setTimeout(function(){
                listItem.append(nextListItem)
            }, 1000);//set timeout to give wait to response
        }).fail(function(){
            var nextListItem = "<li class='list-group-item list-group-item-danger' >Sorry I'm not home right now.</li>";
            list.append(nextListItem);
        });
});
 
  });

  
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您的网络服务器是否恰好有规则,如果找不到所请求的资源,它将默认为index.html文件提供服务?这是单页应用程序的常用配置。

如果是这种情况,如果服务器找不到请求的js文件,它将提供html文件的内容,浏览器将尝试将其解析为JavaScript。由于html文件第一行的第一个字符是<,因此您将收到语法错误,因为它不是有效的JavaScript。