Python flask web应用程序赢得't获取用户输入
Python flask web application won't get user inputs
我希望通过点击网页上的HTML链接来处理python脚本。以下是我迄今为止处理点击的Javascript:
<script type="text/javascript">
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};</script>
<script type="text/javascript">
$(function() {
var submit_form = function(e) {
$.getJSON($SCRIPT_ROOT + '/_add_numbers', {
a: $('input[name="a"]').val(),
b: $('input[name="b"]').val()
}, function(data) {
$('#result').text(data.result);
$('input[name=a]').focus().select();
});
return false;
};
$('a#calculate').bind('click', submit_form);
$('input[name=a]').focus();
});
</script>
下面是我的python脚本,它使用Flask获得适当的用户输入:
import os
from flask import Flask, jsonify, render_template, request
app = Flask(__name__)
@app.route('/_add_numbers')
def add_numbers():
a = request.args.get('a', 0, type=int)
b = request.args.get('b', 0, type=int)
return jsonify(result=a + b)
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
port = int(os.getenv('PORT', 8080))
host = os.getenv('IP', '0.0.0.0')
app.run(port=port, host=host)
HTML代码不喜欢var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }},
行,因为它在花括号上返回了一个错误。当我用应用程序的根URL替换它时,我似乎无法用python脚本的结果来更新我的网页。有什么建议吗?
我使用cloud9作为我的IDE,它与Apache一起托管。我对Javascript和Flask都很陌生,我真的很想下载这个基本的应用程序,这样我就可以继续学习了!
然而,它应该可以工作,但为了简单起见,您可以简单地将其删除,flask将其解析为相对路径。更改你的index.html,它就会起作用。
提示:一定要把你的index.html放在"templates"目录下,并在你的终端或命令提示符"python site.py"中运行它
main_dir
|--site.py
|--templates
|--index.html
index.html:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var submit_form = function(e) {
$.getJSON('/_add_numbers', {
a: $('input[name="a"]').val(),
b: $('input[name="b"]').val()
}, function(data) {
$('#result').text(data.result);
$('input[name=a]').focus().select();
});
return false;
};
$('a#calculate').bind('click', submit_form);
$('input[name=a]').focus();
});
</script>
<input name="a" />
<input name="b" />
<a href="#" id="calculate">calculate</a>
<div id="result"></div>
相关文章:
- 从远程脚本获取用户IP
- JSON获取用户id's在嵌套数组中
- 获取用户选择的不带时区的日期
- 如何从客户端的数组中获取用户输入和返回值
- 如何使用Node.js脚本从Rally获取用户的修订历史
- Express.js:在用户发帖时获取用户的引荐来源网址
- 获取用户位置并将坐标保存在数据库中
- 获取用户按键的时间
- 从表单中获取用户输入执行计算(操作顺序)并输出回该表单
- 如何获取用户's输入并返回我定义的匹配变量的值
- 如何通过获取用户输入和使用按钮来运行JavaScript函数
- 使用jQuery获取用户坐标
- 获取用户和服务器时间之间的时间差
- 在 PHP 或 JavaScript 中获取用户的纬度和经度,以便在 PHP 中使用
- 如何通过声云 api 调用获取用户 ID
- 使用 Javascript 获取用户的 Github 存储库列表
- 如何使用 HTML 中的表单框获取用户输入
- 如何从HTML表单中获取用户输入并将其存储在现有的JavaScript数组中
- Phonegap通过WiFi和移动网络而非GPS获取用户位置
- 获取用户选择的选项的值