不知何故,该按钮未定义,即使它是由脚本指定的。缺少什么?
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()
答案 0 :(得分:0)
我检查了您的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部分的脚本标记中。
希望这对你有用。
答案 1 :(得分:0)
您使用错误的类型
包含文件<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
,因此将以这种方式处理文件。