I want to send a http.get request with some search parameters to my webapi to get a list of students. I found some examples on how to do this, but after doing exactly as in the examples, I get this weird error:
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'.
Here's my component:
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- } }
What could be causing this error?
It seems the native URLSearchParams is declared to your present code, whereas the new URLSearchParams();
returns angular.io's URLSearchParams object
import 'rxjs/add/operator/map'
and it should work.
import { URLSearchParams } from '@angular/http';
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With