未捕获的引用错误:未定义应用,未捕获的语法错误:意外的令牌<.缺少一些东西

Uncaught ReferenceError: app is not defined, Uncaught SyntaxError: Unexpected token <. Something is missing

本文关键字:错误 语法 未定义 引用 应用 令牌 意外      更新时间:2023-09-26

不知何故,按钮没有定义,即使它是由脚本指定的。缺少什么?

索引.html

   $def with (form, text)
    <html>
        <head>
        <title>Reverser</title>
              <link rel="stylesheet" href="css/master.css">
        </head>
        <body>
            <div>
                <input id="str_invert_input" type="text">
                <button onclick="app.invert()">Invert</button>
            </div>
            <hr>
            <div>
                <h2 id="result"></h2>
            </div>
            <script src="/web/static/js/jquery-1.11.3.min.js" type="text/javascript"></script>
            <script src="/web/static/js/main.js" type="text/javascript"></script>
        </body>
    </html>

主.js

var app = {
  invert : function(){
    var str = $('#str_invert_input');
    var inputVal = str.val();
    var encoded = encodeURI(inputVal);
    var result = $('#result');
    // Add the web service URL
    $.get( "http://127.0.0.1:8081/"+encoded, function( data ) {
    result.html(data);
    });
  }
}

如您所见,该应用程序似乎已被定义,并由索引.html上的脚本调用。

main.py

import web
from web import form
urls = (
    '/(.*)', 'index',
)
render = web.template.render('C:/Users/A/Desktop/Web/templates')
my_form = form.Form(
                form.Textbox('', class_='textfield', id='textfield'),
                )
class invert:
    def GET(self, invert):
        web.header('Access-Control-Allow-Origin', '*')
        return render.index(form, "String Reverser!")
        #no code yet


app = web.application(urls, globals())
if __name__ == "__main__": 
    app.run()

我已经检查了您的HTML代码,发现脚本type定义错误。

你必须替换这个

<script src="/web/static/js/jquery-1.11.3.min.js" type="text/html"></script>
<script src="/web/static/js/main.js" type="text/html"></script>

随着

<script src="/web/static/js/jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="/web/static/js/main.js" type="text/javascript"></script>

另一件事是,我想

$def with (form, text)

如果此代码与 Javascript/jquery 相关,则应在 head 部分中的脚本标记中。

希望这对你有用。

您使用错误的类型包含文件

<script src="/web/static/js/jquery-1.11.3.min.js" type="text/html"></script>
<script src="/web/static/js/main.js" type="text/html"></script>

应该是

<script src="/web/static/js/jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="/web/static/js/main.js" type="text/javascript"></script>

由于您将它们作为text/html,因此内部的变量不会被识别为这样,函数和其他javascript对象也是如此。因此,你会得到各种未定义的行为。

作为补充说明,不一定是因为您错过了text/javascript发生了错误。如果您查看此处,似乎 type 属性并不完全必要。您错误的原因是您明确指出了text/html,因此将以这种方式处理文件。

相关文章: