我不明白为什么,而且我无法在任何地方找到答案。
当我想在http请求中使用params时,我遇到了这个问题。
identificationClientMAil(phone: string, mail: string) : Observable <any>{
let params = new HttpParams().append('phone', phone).append('mail', mail);
return this.http.get('http://localhost:8000/Programme/extranet-api/public', { headers: this.headers, params: params })
.map(res => res.json())
.catch(err => {
throw 'error in source. Details: ' + err;
});
}
我的网址看起来像这样:
我的问题在哪里?
答案 0 :(得分:1)
您需要使用URLSearchParams
:
let params = new URLSearchParams();
urlSearchParams.append('phone', phone);
urlSearchParams.append('mail', mail);
return this.http.get('http://localhost:8000/Programme/extranet-api/public?' + urlSearchParams.toString(), { headers: this.headers })
.map(res => res.json());
.catch(err => {
throw 'error in source. Details: ' + err;
});
答案 1 :(得分:1)
你有什么问题?它也可能是服务器问题(资源或其他方式的路径不正确)。无论如何,Dhyey使用URLSearchParams提出了一个很好的建议,尽管让http.get处理params转换(就像你在代码中一样)是个更好的主意,如:
return this.http.get('http://localhost:8000/Programme/extranet-api/public',
{ headers: this.headers, search: myUrlSearchParams })...;