gpt4 book ai didi

python - Django is_ajax 历史返回

转载 作者:行者123 更新时间:2023-11-28 21:21:51 26 4
gpt4 key购买 nike

我编写了一个 Django View ,它根据 request.is_ajax() 响应 text/htmlapplication/json。到目前为止一切顺利,但是当我使用浏览器历史记录按钮时,我最终得到的是 JSON 响应而不是 HTML。

我想不出问题所在。确实,jQuery ajax 请求在页面加载后获得相同的 url,但这不应该在历史记录中结束,或者应该吗?

谢谢,乔

最佳答案

如果根据request.is_ajax()发送不同的内容,需要向浏览器发送Vary: X-Requested-With。这样,浏览器将能够根据请求中的 X-Requested-With header 的值来区分这两种响应。您可以通过以下方式做到这一点:

from django.views.decorators.vary import vary_on_headers

@vary_on_headers('X-Requested-With')
def yourview(request, ...):
pass

关于python - Django is_ajax 历史返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640225/

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