Символ % кодируется как %25 в URL при каждой перезагрузке
Я использую Spring-Data-Rest и Angular 2
% код кодирования URL %25 (http://www.w3schools.com/tags/ref_urlencode.asp а>)
Во-первых;
http://localhost:4200/members/http%3A%2F%2Flocalhost%3A8080%2FErPApI%2Forganizations%2F1/detail
при переходе по этому URL-адресу и повторной загрузке страницы или копировании и вставке ссылки на новую вкладку
% снова закодировать %25. Он делает каждую перезагрузку.
http://localhost:4200/members/http%253A%252F%252Flocalhost%253A8080%252FErPApI%252Forganizations%252F1/detail
Итак, я потерял идентификатор участника. Как я могу снова заблокировать кодирование%?
person
vangoo
schedule
13.02.2017
source
источник
Ответы (2)
Я использовал следующий метод, когда я получаю ссылку.
decodeURIComponent()
person
vangoo
schedule
11.05.2017
Я добавляю пользовательский UrlSerializer поставщика в корневой AppModule.
Как это...
// custom-url-serializer.ts
import { DefaultUrlSerializer, UrlSerializer, UrlTree } from '@angular/router';
export class CustomUrlSerializer implements UrlSerializer {
private defaultUrlSerializer: DefaultUrlSerializer = new DefaultUrlSerializer();
parse(url: string): UrlTree {
url = url.replace(/\%/g, '%25');
return this.defaultUrlSerializer.parse(url);
}
serialize(tree: UrlTree): string {
return this.defaultUrlSerializer.serialize(tree).replace(/%25/g, '%');
}
}
// app.module.ts
import { NgModule } from '@angular/core';
import { CustomUrlSerializer } from './shared/custom-url-serializer';
@NgModule({
declarations: [
AppComponent,
],
imports: [
...
],
bootstrap: [AppComponent],
providers: [
{
provide: UrlSerializer,
useClass: CustomUrlSerializer, // <-- Here!
},
],
})
export class AppModule { }
person
Margaux
schedule
13.04.2018