Подтвердить что ты не робот

Тип 'URLSearchParams' не присваивается типу 'URLSearchParams'

Я хочу отправить запрос http.get с некоторыми параметрами поиска на мой webapi, чтобы получить список студентов. Я нашел несколько примеров того, как это сделать, но после выполнения точно так же, как в примерах, я получаю эту странную ошибку:

[ts]
Type 'URLSearchParams' is not assignable to type 'URLSearchParams'. Two different types with this name exist, but they are unrelated.
Property 'rawParams' is missing in type 'URLSearchParams'.

Здесь мой компонент:

import { Injectable } from '@angular/core';
import { Http, Headers, Response, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/map'
import { User } from '../_models/user';

@Injectable()
export class UserService {

options = new RequestOptions({ 'headers': new Headers({ 'Content-Type': 'application/json' })});

constructor(private http: Http) {
}

createAccount(newUser: User){
return this.http.post('http://localhost:64792/api/students', JSON.stringify(newUser), this.options)
.map((response: Response) => {              
    if(response.ok){
        console.log("Registration was a success");
        return true;
     } else {
         console.log("Registration failed");
         return false;
      }
 });
}

searchStudents(searchWords: Array<string>){
// Parameters obj-
 let params: URLSearchParams = new URLSearchParams();
 for(let i = 0; i < searchWords.length; i++){
 params.append('searchWords', searchWords[i]);
 }
 this.options.search = params;
 //Http request-
}
} 

Что может вызвать эту ошибку?

4b9b3361

Ответ 1

Кажется, родной URLSearchParams объявлен вашему существующему коду, тогда как new URLSearchParams(); возвращает angular.io объект URLSearchParams

import 'rxjs/add/operator/map', и он должен работать.

import { URLSearchParams } from '@angular/http';

Ответ 2

Попробуйте использовать метод set

searchStudents(searchWords: Array<string>){
// Parameters obj-
 let params: URLSearchParams = new URLSearchParams();
 for(let i = 0; i < searchWords.length; i++){
 params.set('searchWords', searchWords[i]);
 }
 this.options.search = params;
 //Http request-
}