【问题标题】:url automatically replace from # to "# when page reloadurl在页面重新加载时自动从#替换为“#
【发布时间】:2020-03-19 16:54:53
【问题描述】:

app.routing.module.ts

我们正在开发应用程序后端 java 和前端 angular。在第一次运行时,一切看起来都很好,但在第二次运行到服务器 URL HTTP 404 后找不到。

如果我打了

http://localhost:8080/bsc/# 重新加载时http://localhost:8080/bsc/"#" 会自动添加双引号,导致 404 错误。

请帮忙

【问题讨论】:

  • 可能你在路由中使用HashLocationStrategy..!
  • 这个问题需要更多详细信息才能为您提供帮助。朝着正确方向迈出的一步是编辑以准确包含您正在谈论的 Angular(js 或 2+),然后提供一些配置信息,例如您是否使用哈希位置策略等。然后您需要澄清您的问题,什么是预期结果?
  • 是的,我们在路由中使用 HashLocationStrategy

标签: angular


【解决方案1】:

把你的 app.routing.module.ts {useHash: true}

@NgModule({
  imports: [RouterModule.forRoot(routes, { useHash: true })],
  exports: [RouterModule]
})

另一种方式

import { bootstrap } from "angular2/platform/browser";
import { provide } from "angular2/core";
import {
  ROUTER_PROVIDERS, LocationStrategy, HashLocationStrategy
} from "angular2/router";

bootstrap(MainApp, [
 ROUTER_PROVIDERS,
 provide(LocationStrategy, {useClass:HashLocationStrategy});
]);

【讨论】:

  • 我正在附加 app.routing.module.ts 请检查]
  • 更改导入添加了一个useHash: true imports: [RouterModule.forRoot(routes, { useHash: true })],
  • 已经在 app.routing 模块中添加了 {useHash: true} 但同样的问题
  • @NgModule({ imports: [RouterModule.forRoot(routes, {useHash: true})], exports: [RouterModule] }) 导出类 AppRoutingModule { }
  • 提供者:[WINDOW_PROVIDERS,AppService,EmitterService,AuthService,StrategyService,HttpService,StrategyAnalysisService,BscService,InitiativeService,AlignmentService,Util,CustomValidators,{provide:LocationStrategy,useClass:HashLocationStrategy}],引导程序:[AppComponent ] }) 导出类 AppModule { }
猜你喜欢
  • 1970-01-01
  • 2018-05-02
  • 2016-10-20
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多