Как получить «Параметры строки запроса» из URL-адреса http Get

#angular

Вопрос:

Я вызываю API, используя метод Get, я хочу просто получить «Параметры строки запроса», которые были добавлены из бэкенда. Например https://api.npms.io/v2/search?q=scope:angularamp;lang='fr'' . Из этого API lang='fr' был добавлен из бэкенда. Мне нужно получить последние «параметры запроса» lang='fr' .

приложение.компонент.ts

 import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
    
@Component({ selector: 'app', templateUrl: 'app.component.html' })
export class AppComponent implements OnInit {
    totalAngularPackages;
    
    constructor(private http: HttpClient) { }
    
    ngOnInit() {      
        // Simple GET request with response type <any>
        this.http.get<any>('https://api.npms.io/v2/search?q=scope:angularamp;lang='fr'').subscribe(data => {
            this.totalAngularPackages = data.total;
        })
    }
}
 

Комментарии:

1. » api.npms.io/v2/search? q=область действия:угловойamp;lang=’fr ‘» из этого последнего параметра url

Ответ №1:

Вы можете просто извлечь параметр поиска из URL-адреса,:

  • создание объекта URL из строки
  • извлечение параметров поиска
  • наконец, получите нужный вам параметр
 const url = new URL("https://api.npms.io/v2/search?q=scope:angularamp;lang='fr'");
const params = new URLSearchParams(url.search);

console.log(params.get('q'));
console.log(params.get('lang')); 

Смотрите также:


Имейте в виду, что 'https://api.npms.io/v2/search?q=scope:angularamp;lang='fr'' это недопустимая строка. Либо избегайте одинарных кавычек, либо используйте двойные кавычки:

 const url = 'https://api.npms.io/v2/search?q=scope:angularamp;lang='fr'';
const url = "https://api.npms.io/v2/search?q=scope:angularamp;lang='fr'";
 

Комментарии:

1. Спасибо за ваш ответ, но как получить этот полный URL-адрес в angular api.npms.io/v2/search? q=область применения:угловойamp;lang=’fr ‘ , так как ‘ api.npms.io/v2/search? q=область действия:угловой «, поступающий из API, передающий другой запрос, но последний запрос amp;lang= «fr», добавляемый из серверной части

2. Извините, но я не понимаю, что вы имеете в виду. Вы получаете URL-адрес от другого вызова API? Вы должны хорошо добавить этот код к вопросу. Где именно добавляется lang параметр? Возможно, вам придется объяснить свою проблему более подробно.

3. Я выполняю вызов API с тем же URL-адресом api.npms.io/v2/search? q=область действия:угловойamp;lang=’fr ‘, передав первый запрос q=область действия:угловой, но последний запрос добавляется серверной командой amp;lang=’fr’, поэтому мне нужно получить последний запрос lang=’fr’, который добавляется серверной частью