当前位置: 首页 > 面试题库 >

使用AngularJS HTML5模式重新加载页面会给出错误的GET请求

相威
2023-03-14
问题内容

我想为我的应用启用HTML5模式。我已经把下面的代码的配置,如图所示在这里:

return app.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider) {

    $locationProvider.html5Mode(true);
    $locationProvider.hashPrefix = '!';

    $routeProvider.when('/', {
        templateUrl: '/views/index.html',
        controller: 'indexCtrl'
    });
    $routeProvider.when('/about',{
        templateUrl: '/views/about.html',
        controller: 'AboutCtrl'
    });

如您所见,我使用,$locationProvider.html5mode并且更改了所有的链接ng-href以排除/#/

问题

目前,我可以转到localhost:9000/并查看索引页面,然后浏览至其他页面,例如localhost:9000/about

但是,刷新localhost:9000/about页面时会出现问题。我得到以下输出:Cannot GET /about

如果我看网络通话:

Request URL:localhost:9000/about
Request Method:GET

如果我先转到localhost:9000/然后单击导航到的按钮,则会/about得到:

Request URL:http://localhost:9000/views/about.html

完美呈现页面。

刷新时如何启用angular以获得正确的页面?


问题答案:

从角度文档

服务器端
使用此模式需要在服务器端重写URL,基本上,您必须重写指向应用程序入口点的所有链接(例如index.html)

这样做的原因是,当您第一次访问页面(/about)时(例如刷新后),浏览器无法得知这不是真实的URL,因此会继续进行加载。但是,如果您先加载了根页面以及所有的javascript代码,那么当您导航到/aboutAngular时,可以在浏览器尝试访问服务器并进行相应处理之前进入Angular。



 类似资料:
  • 我想重新加载页面。我该怎么做?

  • 我有一个链接。当用户单击此链接时,页面将被重新加载。我是这样做的。。。。。。 html JS 在控制器中,我使用了javascript,这对我来说似乎很糟糕。我怎么能用angularjs做

  • 本文向大家介绍BootStrap mvcpager分页样式(get请求,刷新页面),包括了BootStrap mvcpager分页样式(get请求,刷新页面)的使用技巧和注意事项,需要的朋友参考一下 使用方法: 先把mvcpager.dll引用加入mvc项目中。 前台代码 前台: 后台代码 样式更改:class为pager或pagination 如图: 样式文件: 以上所述是小编给大家介绍的Boo

  • 我有一个反应应用程序开发的底漆-反应模板。它有一个管理仪表板,在仪表板侧板中有几条路由。我已经在我的index.js中设置了一个身份验证路由,当我访问每条路由时,它都运行得很好。但是当重新加载页面时,页面显示404页面找不到! 我保护“/”路径不受AUthrote的影响,这样每个以“/”开头的路径都受到保护(我在仪表板中有路由,如“/usertable”、“/users”、“/payments”等

  • 问题内容: 我们正在发出多个ajax请求,以“保存” Web应用程序中的数据,然后重新加载页面。我们遇到了这样一种情况:(由于请求是异步发出的)在ajax调用完成时或之前重新加载页面。一种简单的解决方案是使用“ async”:false选项启用ajax调用,从而强制进行同步调用。这似乎可行,但是在执行任何调用之前运行的对话框代码会延迟运行。 任何意见是极大的赞赏! 还应注意,在重新加载之前放置al

  • 问题内容: 我有一个带有php include的Div Tag,该div用来填充该信息,我想要做的是使它每隔15秒调用一次,以便它可以在那里更新信息,而不必重新加载整个网页。我试图用JavaScript / jQuery做到这一点,但似乎无法正常工作 这是我在搜索一些内容后所拥有的,然后发生的是,它加载了Small.php,但不会每15秒刷新一次或更新信息。 请帮忙! 我应该添加所有应显示的php