Django 如何检查请求是否为 Ajax 请求

4

HttpRequest.is_ajax() 方法已经被弃用,因为它依赖于 jQuery 特定的标识 AJAX 调用的方法,而当前的用法倾向于使用 JavaScript Fetch API。根据您的用例,您可以编写自己的 AJAX 检测方法,或者如果您的代码依赖于客户端 Accept HTTP 标头,则使用新的 HttpRequest.accepts() 方法。


实际上正在问什么问题? - dangel
2个回答

4
def is_ajax(request):
  return request.headers.get('x-requested-with') == 'XMLHttpRequest'

3
如果您正在编写自己的AJAX检测方法,可以将request.is_ajax()完全复制为:
if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
    is_ajax = True
else:
    is_ajax = False

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接