首页 > 解决方案 > 未触发 jQuery getJSON 回调

问题描述

我正在尝试从 Flask 文档中重现简单的 jQuery 示例:https ://flask.palletsprojects.com/en/1.1.x/patterns/jquery/ 。它在我的本地机器上运行良好,但是当我将它托管在 cgi-bin 中的 Web 服务器上时,getJSON 返回 false。我该如何纠正?谢谢!

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__":
    app.run()
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  </head>



<script type=text/javascript>
  $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
</script>

<script type=text/javascript>
  $(function() {
    $('a#calculate').bind('click', function() {
      $.getJSON($SCRIPT_ROOT + '/_add_numbers', {
        a: $('input[name="a"]').val(),
        b: $('input[name="b"]').val()
      }, function(data) {
        $("#result").text(data.result);
      });
      return false;
    });
  });
</script>
<h1>jQuery Example</h1>
<p><input type=text size=5 name=a> +
   <input type=text size=5 name=b> =
   <span id=result>?</span>
<p><a href=# id=calculate>calculate server side</a>

标签: javascriptjquery

解决方案


推荐阅读