from flask import Flask, jsonify, render_template, request
import time
app = Flask(__name__)
@app.route("/")
def main():
return render_template('main.html', reload = time.time())
@app.route("/api/info")
def api_info():
info = {
"ip" : "127.0.0.1",
"hostname" : "everest",
"description" : "Main server",
"load" : [ 3.21, 7, 14 ]
}
return jsonify(info)
@app.route("/api/calc")
def add():
a = int(request.args.get('a', 0))
b = int(request.args.get('b', 0))
div = 'na'
if b != 0:
div = a/b
return jsonify({
"a" : a,
"b" : b,
"add" : a+b,
"multiply" : a*b,
"subtract" : a-b,
"divide" : div,
})
$(function() {
$.ajax({
url: '/api/info',
success: function(data) {
console.log('get info');
$('#info').html(JSON.stringify(data, null, ' '));
$('#description').html(data['description']);
}
});
$('#calc').click(function() {
$('#info').css('display', "none");
$('#description').css('display', "none");
//console.log(url);
$.ajax({
url : '/api/calc?a=' + document.getElementById('a').value + '&b=' + document.getElementById('b').value,
success: function(data) {
$('#add').html(data['a'] + ' + ' + data['b'] + ' = ' + data['add']);
$('#subtract').html(data['a'] + ' - ' + data['b'] + ' = ' + data['subtract']);
$('#multiply').html(data['a'] + ' * ' + data['b'] + ' = ' + data['multiply']);
$('#divide').html(data['a'] + ' / ' + data['b'] + ' = ' + data['divide']);
}
});
});
})
<html>
<head>
</head>
<body>
<input type="number" id="a">
<input type="number" id="b">
<button id="calc">Calc</button>
<div id="results">
<div id="add"></div>
<div id="subtract"></div>
<div id="multiply"></div>
<div id="divide"></div>
</div>
<pre id="info"></pre>
<div id="description"></div>
<script src="/static/jquery-3.1.1.min.js"></script>
<script src="/static/math.js?r={{reload}}"></script>
</body>
</html>