栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

AngularJS + Django:URL刷新或直接访问未正确加载

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AngularJS + Django:URL刷新或直接访问未正确加载

我们希望路由器能够维护原始URL,并将用户带回原始页面。

那是误会。

这是事件的顺序:

  1. 用户
    http://example.com/dashboard/profile/
    在位置栏中键入。
  2. 浏览器向
    GET
    服务器发送该URL 的请求。
  3. 您的服务器以
    301
    重定向响应进行响应。
  4. 浏览器会看到该响应,并向发送新
    GET
    请求
    http://example.com/dashboard/
  5. 服务器以您的“ Angular”页面响应。
  6. Angular应用程序启动并查看
    window.href
    以查看当前路线。它看到根路由并做出适当响应。

换句话说,当您重定向时,您将丢失原始URL。

解决方案很简单:无需重定向,只需返回页面即可响应任何(有效)URL。这样,所请求的URL就会得到维护,当Angular启动时,它将能够找出正确的路由。(这假定路由已在Angular中正确设置,但是听起来您已经可以使用了。)

实现也很简单。只需通过以下方式更改Django

urls.py

urlpatterns = [    url(r'^dashboard/$', my_view),]

像这样:

urlpatterns = [    url(r'^dashboard/.*$', my_view),]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号