Skip to main content
 首页 » 编程设计

ajax之填写表格时,AJAX + Flask更新服务器请求

2025年12月25日27xing901022

在Flask网站上,有一个有关如何使用AJAX的教程,该示例显示了两个数字的和。

这是python应用
从flask导入Flask,render_template,请求,jsonify

# Initialize the Flask application 
app = Flask(__name__) 
 
 
@app.route('/') 
def index(): 
    return render_template('index.html') 
 
@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) 
 
if __name__ == '__main__': 
    app.run( 
        host="0.0.0.0", 
        port=int("80"), 
        debug=True 
    ) 


这是HTML文件

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" 
          rel="stylesheet"> 
  <script type=text/javascript> 
    $(function() { 
      $('a#calculate').bind('click', function() { 
        $.getJSON('/_add_numbers', { 
          a: $('input[name="a"]').val(), 
          b: $('input[name="b"]').val() 
        }, function(data) { 
          $("#result").text(data.result); 
        }); 
        return false; 
      }); 
    }); 
  </script> 
  </head> 
  <body> 
    <div class="container"> 
      <div class="header"> 
        <h3 class="text-muted">How To Manage JSON Requests</h3> 
      </div> 
      <hr/> 
      <div> 
      <p> 
    <input type="text" size="5" name="a"> + 
    <input type="text" size="5" name="b"> = 
    <span id="result">?</span> 
    <p><a href="javascript:void();" id="calculate">calculate server side</a> 
      </form> 
      </div> 
    </div> 
  </body> 
</html> 


我看到,通过此示例,每次单击链接时,便可以向服务器发送请求,但是,我想知道是否可以跳过此步骤并获得请求,从而使用户输入的文本发生变化。

请您参考如下方法:

是。这很浪费资源,但是您可以更改
$('a#calculate').bind('click', function() {
$('input[name="a"]').change(function() {
并对输入b执行相同的操作

编辑:
并且,根据您的输入进行测试:
$('input[name="a"]').on('input',function(e){
要么:
$('input[name="a"]').keyup(function(e){