Uncaught ReferenceError: app is not defined, Uncaught SyntaxError: Unexpected token <. Something is missing
Uncaught ReferenceError: app is not defined, Uncaught SyntaxError: Unexpected token <. Something is missing
不知何故,按钮没有定义,即使它是由脚本指定的。缺少什么?
index.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>
main.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);
});
}
}
如您所见,应用程序似乎已被定义,并由 index.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..
相关,则该代码应位于标头部分的脚本标记中
希望这对你有用。
您包含的文件使用了错误的类型
<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
。如果您查看 here,似乎 type
属性并不是完全必要的。您出错的原因是您明确声明了 text/html
,因此将以这种方式处理文件。
不知何故,按钮没有定义,即使它是由脚本指定的。缺少什么?
index.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>
main.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);
});
}
}
如您所见,应用程序似乎已被定义,并由 index.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..
相关,则该代码应位于标头部分的脚本标记中希望这对你有用。
您包含的文件使用了错误的类型
<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
。如果您查看 here,似乎 type
属性并不是完全必要的。您出错的原因是您明确声明了 text/html
,因此将以这种方式处理文件。