在http Post请求期间,提供的参数与呼叫目标错误的任何签名都不匹配

时间:2018-02-05 08:17:45

标签: angular typescript ionic-framework ionic2

我正在使用Angular进行Ionic 2项目。代码在第5行返回错误。有人可以告诉我该怎么做?

@Injectable()
export class DiaryService {
  constructor(public http: Http) {}  
    getData(): Promise<DiaryModel> {
      return this.http.post('./assets/example_data/diary.json')
       .toPromise()
       .then(response => response.json() as DiaryModel)
       .catch(this.handleError);
    }

  private handleError(error: any): Promise<any> {
    console.error('An error occurred', error); // for demo purposes only
    return Promise.reject(error.message || error);
  }

}

2 个答案:

答案 0 :(得分:0)

post方法至少需要2个参数 - url body

您只通过了 url 部分。您还需要设置正文

return this.http.post('./assets/example_data/diary.json', body)

也弃用了Http,请尝试更新的HttpClient

答案 1 :(得分:0)

您缺少data/body参数

 return this.http.post('./assets/example_data/diary.json',data)