gpt4 book ai didi

python - 识别 Flask 请求是否来自 JavaScript

转载 作者:太空宇宙 更新时间:2023-11-03 14:54:18 24 4
gpt4 key购买 nike

我想创建一个 Flask 错误处理程序,如果请求来自 JavaScript,它返回一个 JSON 响应,否则返回一个重定向。我尝试使用 request.is_xhr,但即使对于 JavaScript 请求也是错误的。如何检查请求是否来自 JavaScript?

@app.errorhandler(Exception)
def unhandled_exception(error):
if request.is_xhr:
return flask.jsonify(error='yes')

return redirect(url_for('error'))

最佳答案

没有标准或可靠的方法来检测请求是否来自特定来源,例如 JavaScript。

is_xhr 仅在某些 header 由某些 JavaScript 库(例如 jQuery)设置时才为真。大多数 JavaScript 不发送 header 。 is_xhr 由于这个原因已被弃用。

您可以检查 Accept header 以查看客户端是否要求 application/json,但这也是不可靠的。

if request.is_xhr or request.accept_mimetypes.accept_json:
return jsonify(...)

return redirect(...)

关于python - 识别 Flask 请求是否来自 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43871003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com