Ajax GET请求混乱

时间:2015-06-17 08:53:50

标签: javascript python ajax flask

我对javascript / ajax / 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?很抱歉,如果这个问题太基础,但类似的搜索并没有帮助我理解数据请求。

2 个答案:

答案 0 :(得分:2)

试试这个

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

编辑:

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

<强>原因

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

  • 一个字符串
  • 响应对象(或子类)
  • 元组(字符串,状态,标题)或(字符串,状态)
  • 有效的WSGI应用程序

了解更多Flask view raises TypeError: 'bool' object is not callable

答案 1 :(得分:2)

试试这个,

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

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