首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型“URLSearchParams”不能赋值给类型“URLSearchParams”

类型“URLSearchParams”不能赋值给类型“URLSearchParams”
EN

Stack Overflow用户
提问于 2017-04-06 21:12:37
回答 2查看 8.6K关注 0票数 23

我想向我的webapi发送一个带有一些搜索参数的http.get请求,以获取学生列表。我找到了一些关于如何做到这一点的示例,但在完全按照示例中的操作进行操作后,我得到了这个奇怪的错误:

代码语言:javascript
复制
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'.

下面是我的组件:

代码语言:javascript
复制
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-
}
} 

导致此错误的原因可能是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-06 21:43:24

看起来原生URLSearchParams被声明给您的当前代码,而new URLSearchParams();返回angular.io的URLSearchParams object

导入'rxjs/add/operator/map',它应该可以工作。

代码语言:javascript
复制
import { URLSearchParams } from '@angular/http';
票数 33
EN

Stack Overflow用户

发布于 2017-04-06 21:27:58

尝试使用set方法

代码语言:javascript
复制
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-
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43256265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档