【问题标题】:Page not loading when refresh from browser in Angular JS在Angular JS中从浏览器刷新时页面未加载
【发布时间】:2017-03-22 21:10:04
【问题描述】:

我使用 angularjs htmlMode5 进行路由

$locationProvider.html5Mode({ enabled: true, requireBase: true }).hashPrefix('!');

我已经在头部放置了

<meta name="fragment" content="!">

问题是当我从浏览器刷新页面时没有调用角度 $http 请求。

让我详细解释一下:

我在 wordpress 中为某些页面使用了 angularjs,当我从一个类别页面导航到其他类别页面(使用 angularjs 加载页面)时,它正在调用 $http 请求和 angular 模板,并且数据正在完美加载。

但是当我从浏览器刷新按钮刷新特定页面时,它什么也没有加载,输出部分也不会显示任何内容。

如果你一一点击这个 Angular 类别,那么它的调用 $http 请求和数据正在加载。

但是当我点击浏览刷新按钮时它不起作用。

我的网站是:http://templatic.net/test/
URL 不起作用是:http://templatic.net/test/job_category/seo(直接不起作用)

【问题讨论】:

  • 我认为要摆脱这个问题,您需要在 index.html 中使用 标签
  • @ManishSingh 是的,我在头部添加了 base 标签,例如
  • 好吧,这就是它不起作用的原因。仅使用
  • 还是不行我已经试过了..请查一下templatic.net/test/job_category/seo
  • 请尝试删除 因为它现在已被弃用。

标签: javascript html angularjs wordpress


【解决方案1】:

检查你的索引页面,你有像

这样的基本 url 标签
<base href="/">

如果不存在,请将其添加到您的索引页中。

并在您的 .htaccess 文件中进行以下更改

RewriteEngine On 
Options FollowSymLinks

RewriteBase /ProjectName

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /#/$1 [L]

上面代码中的“ProjectName”是您的项目的名称

【讨论】:

    猜你喜欢
    • 2011-09-14
    • 1970-01-01
    • 2019-05-31
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 2021-09-19
    相关资源
    最近更新 更多