Http ставил Ionic 3 не работает
По сути, этот HTTP-запрос действует как кнопка и включает систему. На почтальоне я могу просто ввести URL, и он отлично работает, но когда я пытаюсь реализовать его в Ionic App, он ничего не делает. (Извините, если коды неясны)
Ниже приведен код HTTP, сгенерированный POSTMAN
PUT (......) HTTP/1.1
Host: ip
Cache-Control: no-cache
Postman-Token: 0bad8e4d-e717-015a-e321-d2ee05acc563
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Любая идея, как я могу реализовать в приложении Ionic Angular 4?
data: any;
toggle(): Observable<Response> {
let headers = new Headers({ 'Content-Type': 'multipart/form-data' });
let options = new RequestOptions({headers: headers});
return this.http.put('http:/ip/......', JSON.stringify(this.data), options).
map((res:Response) => res.json()).catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
На самом деле нет никакой ошибки, просто ничего не происходит.
1 ответ
Решение
Если вы хотите сделать http-звонок, вы должны подписаться Observable
или это не будет называться
Это один из основных различий ч / б Promise
а также Observable
toggle(): Observable<Response> {
let headers = new Headers({ 'Content-Type': 'multipart/form-data' });
let options = new RequestOptions({headers: headers});
return this.http.put('http:/ip/......', JSON.stringify(this.data), options).
map((res:Response) => res.json())
.subscribe(data => { console.log(data); }) // you are missing this line over here
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
Предложение Примечание:
Попробуйте поместить этот код в какой-то сервис, а не в какой-либо компонент
return this.http.put('http:/ip/......', JSON.stringify(this.data), options). map((res:Response) => res.json()).catch((error:any) => Observable.throw(error.json().error || 'Server error'));