Javascript Ajax获取请求混淆

Javascript Ajax获取请求混淆,javascript,python,ajax,flask,Javascript,Python,Ajax,Flask,我对javascript/ajax/flask非常陌生,正在尝试从我的flask服务器获取数据。我正在呈现client.html模板,需要从/data路径获取数据 app = Flask(__name__) @app.route("/data", methods=["GET"]) def submit_handler(): return 10 #example value @app.route('/client') def page(): return render_temp

我对javascript/ajax/flask非常陌生,正在尝试从我的flask服务器获取数据。我正在呈现client.html模板,需要从/data路径获取数据

app = Flask(__name__)

@app.route("/data", methods=["GET"])
def submit_handler():
    return 10 #example value

@app.route('/client')
def page():
    return render_template('client.html')

if __name__ == '__main__':
    app.run()
在client.html中:

 var output = $.ajax({
      url: "/data",
      type: "GET",
 })

 window.alert(output)
窗口警报输出:

 [object Object]
为什么这个输出不是10?很抱歉,如果这个问题太简单,但是类似的搜索并没有帮助我理解数据请求。

简单地尝试一下

$.get( "/data", function(data, success){
window.alert(data)
})
编辑:

原因

在Flask中,视图必须返回以下内容之一:

  • 一串
  • 响应对象(或子类)
  • (字符串、状态、标题)或(字符串、状态)的元组
  • 有效的WSGI应用程序
要了解更多信息,请简单地尝试以下内容

$.get( "/data", function(data, success){
window.alert(data)
})
编辑:

原因

在Flask中,视图必须返回以下内容之一:

  • 一串
  • 响应对象(或子类)
  • (字符串、状态、标题)或(字符串、状态)的元组
  • 有效的WSGI应用程序
要了解更多信息,请尝试以下内容

$.ajax({
  url: "/data",
  type: "GET",
  datatype : "text",
  success: function(output){
      console.log(output);
  }
})
或者,通过检查开发人员工具中的响应来检查返回的对象的类型。使用F12在浏览器中打开开发人员工具,您可以在其中看到返回的响应。

试试这个

$.ajax({
  url: "/data",
  type: "GET",
  datatype : "text",
  success: function(output){
      console.log(output);
  }
})

或者,通过检查开发人员工具中的响应来检查返回的对象的类型。使用F12在浏览器中打开开发人员工具,您可以在其中看到返回的响应。

我得到一个“get/data HTTP 1.1/”500错误。尝试
返回“10”
。也尝试
应用程序运行(debug=True)
在开发中我得到一个“get/data HTTP 1.1/”500错误。尝试
返回“10”
。还尝试
应用程序运行(debug=True)
在开发中,作为附带说明,我建议使用浏览器控制台而不是警报进行调试。对于基本用法,可以通过
console.log()
(其本身已经提供了远远不止一个警报)完成此操作,但还有许多其他实用程序……它返回一个python Int对象。你想完成什么?您最好将
json
返回到
ajax
调用。要做到这一点,请从flask导入jsonify,然后在另一个注释上返回jsonify({'number':10}),如果您试图学习flask,本教程非常好,涵盖了很多内容-谢谢,我将查看它。作为附带说明,我建议您使用浏览器控制台而不是警报进行调试。对于基本用法,可以通过
console.log()
(其本身已经提供了远远不止一个警报)完成此操作,但还有许多其他实用程序……它返回一个python Int对象。你想完成什么?您最好将
json
返回到
ajax
调用。要做到这一点,请从flask导入jsonify,然后在另一个注意事项上返回jsonify({'number':10}),如果您试图学习flask,本教程非常好,涵盖了很多内容-谢谢,我们将查看它。