Http put Ionic 3 不工作
Http put Ionic 3 Not working
基本上这个 http put 将像一个按钮一样打开系统。在邮递员上,我可以输入 URL 并且它工作正常,但是当我尝试在 Ionic App 上实现它时,它什么也没做。 (抱歉,如果代码不清楚)
以下是POSTMAN生成的HTTP代码
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'));
}
实际上没有任何错误,只是没有任何反应。
如果你想进行http调用你应该订阅 Observable
,否则它不会被调用
这是主要差异之一 b/w 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'));
}
Suggestion Note :
Try to put this code in some service and not in any component
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'));
基本上这个 http put 将像一个按钮一样打开系统。在邮递员上,我可以输入 URL 并且它工作正常,但是当我尝试在 Ionic App 上实现它时,它什么也没做。 (抱歉,如果代码不清楚)
以下是POSTMAN生成的HTTP代码
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'));
}
实际上没有任何错误,只是没有任何反应。
如果你想进行http调用你应该订阅 Observable
,否则它不会被调用
这是主要差异之一 b/w 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'));
}
Suggestion Note :
Try to put this code in some service and not in any component
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'));