【问题标题】:Page reload via ajax通过ajax重新加载页面
【发布时间】:2019-07-20 00:09:05
【问题描述】:

这是重新加载页面的正确方法吗?或者如何做得更好?

提前致谢)

我的看法

def logout(request):
  auth.logout(request)
  html = render(request, 'base.html')
  return html

Ajax

$('a[href$="logout/"]').click(function () {
    $.ajax({
        url: '{% url "logout" %}',
        type: 'GET',
        success: function (data) {
            $('body').html(data);
        }
    });
    return false
});

【问题讨论】:

  • 这取决于您需要实现的目标。当您从某个地方注销时,通常重新加载页面更合乎逻辑。另一方面,如果您有单页应用程序,最好发出 ajax 请求并在不重新加载的情况下刷新状态。

标签: javascript python html ajax django


【解决方案1】:

您是否正在像这样加载所有页面? 如果是传统的多页面web应用,为什么不直接发送常规的Http请求而不是XMLHttp请求呢?

如果您像$('body').html(data); 这样加载所有页面,那么一段时间后您将遇到一些性能问题。 如果您不想重新加载页面,请使用 React、Angular 或 Vue 创建单页应用程序 (SPA)。

【讨论】:

  • 我想通过ajax刷新我的页面,但是我不知道ro如何返回正确的HttpResponse,所以我决定以这种方式刷新页面是可以的。你能举一些例子如何让它变得更好吗?
  • 对不起,如果我误解了你。如果您想在响应时重新加载页面,您可以通过DOM API 进行操作。 window.location.reload();
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 2013-10-26
  • 2012-08-06
  • 1970-01-01
  • 2023-04-11
  • 2019-01-14
  • 2012-08-19
相关资源
最近更新 更多