There is no standard or reliable way to detect if a request comes from a particular source, such as JavaScript.
is_xhr
was only true when a certain header was set by some JavaScript libraries, such as jQuery. The header is not sent by most JavaScript. is_xhr
has been deprecated for that reason.
You can check the Accept
header to see if the client is asking for application/json
, but that too is unreliable.
if request.is_xhr or request.accept_mimetypes.accept_json:
return jsonify(...)
return redirect(...)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…