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

JavaScript没有hash'#'的AngularJS路由

麻昌翰
2023-03-14
问题内容

我正在学习AngularJS,有一件事让我很烦。

我用来$routeProvider为我的应用程序声明路由规则:

$routeProvider.when('/test', {
  controller: TestCtrl,
  templateUrl: 'views/test.html'
})
.otherwise({ redirectTo: '/test' });

但是当我在浏览器中导航到我的应用程序时,我看到的app/#/test不是app/test

所以我的问题是为什么AngularJS将此hash添加#到url中?有可能避免它吗?


问题答案:

实际上,对于非HTML5浏览器,您需要#(#标签)。

否则,他们将只通过提到的href对服务器进行HTTP调用。#是一个旧的浏览器短路问题,它不会触发请求,它允许许多js框架在此之上构建自己的客户端重新路由。

您可以$locationProvider.html5Mode(true)用来告诉angular使用HTML5策略(如果有)。



 类似资料:
  • 问题内容: 我正在学习AngularJS,有一件事让我很烦。 我用来为我的应用程序声明路由规则: 但是当我在浏览器中导航到我的应用程序时,我看到的不是。 所以我的问题是为什么AngularJS将此哈希添加到url中?有可能避免它吗? 问题答案: 实际上,对于非HTML5浏览器,您需要#(#标签)。 否则,他们将只通过提到的href对服务器进行HTTP调用。#是一个旧的浏览器短路问题,它不会触发请求

  • 问题内容: 我想为瘦客户端开发html5 SPA应用程序。无法在其上启动任何Web服务器。如果没有Web服务器,我将无法使路由工作。 我的index.html 我的app.js 我正在Chrome的计算机上本地测试此代码。数据绑定的工作原理很吸引人,但无法链接到登录页面。它通向{X}:\ login。所以我的问题是:是否可以使其与Web服务器一起使用?其次,我想完成它所缺少的是什么? 问题答案:

  • Javascript实现JH Hash函数,SHA3入围算法来实现加密级别。 源代码如下:https://thlg.nl/p/files/jh/jh_1.0BETA.js 来源和单元测试:https://thlg.nl/p/files/jh_js_ver1.0BETA.zip

  • 我有一个Perl哈希表...大约11或12个元素深。请原谅我没有重复下面的结构! 有些级别有固定的标签,例如< code >‘NAMES’、< code >‘AGES’或类似的标签,所以访问这些级别是可以的,因为我可以直接使用标签,但是我需要循环访问其他变量,这会导致一些非常长的语句。这是一组循环中一半的示例: 这只是一个例子,但它遵循了我的一个例子的结构。没有固定名称部分(大写的元素)可能会更短

  • 问题内容: 由于用户可以在浏览器中禁用JavaScript,所以我想知道是否有任何开发使用Ajax但不使用Javascript的应用程序的方法,因此即使禁用了Javascript仍可以正常工作。有什么限制吗? 问题答案: 没有Javascript,AJAX是不可能的,因为它以客户端上运行的JS代码为前提。如果禁用了JS,则浏览器中无法执行任何操作并无法与服务器联系- 只有“死”的HTML和CSS。

  • 有没有vue3+ts控制路由权限的项目案例?