Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理http调用';s响应:过滤器不是一个函数_Javascript_Angular_Ionic2 - Fatal编程技术网

Javascript 处理http调用';s响应:过滤器不是一个函数

Javascript 处理http调用';s响应:过滤器不是一个函数,javascript,angular,ionic2,Javascript,Angular,Ionic2,提供商代码: import {AutoCompleteService} from 'ionic2-auto-complete'; import { Http } from '@angular/http'; import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import 'rxjs/add/operator/map'; @Injectable() export

提供商代码:

import {AutoCompleteService} from 'ionic2-auto-complete';
import { Http } from '@angular/http';
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import 'rxjs/add/operator/map';
@Injectable()
export class AutoSuggestProvider implements AutoCompleteService {

  constructor(public http: HttpClient, public HTTP: Http) {
    console.log('Hello AutoSuggestProvider Provider');
  }
  getResults(keyword:string) {
    return this.HTTP.get("https://restcountries.eu/rest/v1/name/"+keyword) .map( result => { return result.filter(item => item.name.toLowerCase().startsWith(keyword.toLowerCase()) ) });
  }

}
问题行:

返回此.HTTP.get(“+关键字) .map(结果=>{返回结果.filter(项=> item.name.toLowerCase().startsWith(关键字.toLowerCase())})

正如你所看到的,这是一句有问题的话

类型“Response”上不存在属性“filter”

请帮助我如何解决此问题?

请尝试此方法

import { Http } from '@angular/http'
import 'rxjs/add/operator/map';

getResults(keyword:string){
return this.Http.get("https://restcountries.eu/rest/v1/name/"+keyword).map(res=>{
  return res.json()
}).map(fil=>{
    return fil.filter(res=>{
      return res.name.toLowerCase().startsWith(keyword.toLowerCase())
    })
  })
}


在第一个映射中,以json的形式返回,在第二个映射中,根据关键字

import{Pipe,PipeTransform}从'@angular/core'过滤结果尝试添加此“导入”rxjs/add/operator/filter';并检查您的响应是否为空