如何在Python的Flask中识别通过AJAX发出的请求?

ens*_*are 13 python ajax flask angularjs

我想检测浏览器是否通过AJAX(AngularJS)发出请求,以便我可以返回JSON数组,或者我是否必须呈现模板.我怎样才能做到这一点?

Ale*_*sen 23

Flask is_xhrrequest对象中附带一个属性.

from flask import request
@app.route('/', methods=['GET', 'POST'])
def home_page():
    if request.is_xhr:
        context = controllers.get_default_context()
        return render_template('home.html', **context)
Run Code Online (Sandbox Code Playgroud)

  • 请注意(来自 Flask 官方文档):“这只适用于支持 X-Requested-With 标头并将其设置为“XMLHttpRequest”的库。” (2认同)
  • “'Request.is_xhr' 从 Flask 0.13 版开始就被弃用了”,上面的答案不再可行 (2认同)