Я новичок в ionic2 (но в программировании в целом) и пробую свои силы в ionic2.Теперь я пытаюсь сделать простое получение / публикацию для своих веб-сервисов (запущенных локально в процессе разработки), и я просто не могу просто вызвать сервисы.
Забавно, что вызовы get и post делаютне вызывает никаких ошибок / предупреждений / чего-либо еще.
import { Injectable, NgZone } from '@angular/core';
import { BackgroundGeolocation } from '@ionic-native/background-geolocation';
import { Geolocation, Geoposition } from '@ionic-native/geolocation';
import { Http, Response, Headers, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';import 'rxjs/add/operator/filter';
@Injectable()
export class LocationTracker {
public watch: any;
public lat: number = 0;
public lng: number = 0;
public http: Http;
constructor(public zone: NgZone, public backgroundGeolocation: BackgroundGeolocation,
public geolocation: Geolocation, http: Http) {
this.http = http;
}
public postLocationData(lat: number, lng: number) {
var JSONObject = {"latitude": "" + lat, "longitude": "" + lng };
console.log("Posting: " + JSON.stringify(JSONObject));
let headerOptions: any = { 'Content-Type': 'application/json' };
let headers = new Headers(headerOptions);
// The simple get service. Curl from command line works
this.http.get("http://192.168.1.2:8080/location/new1/")
.map((response: Response) => {
console.log('Response is: ' + response);
})
.catch((this.handleErrorObservable));
// The simple post service. Curl from command line works. Note that in the service, the post param is captured as a String (Java) and then I am casting the string to an Object using Gson
this.http.post("http://192.168.1.2:8080/location/new/", JSON.stringify(JSONObject), new RequestOptions({ headers: headers }))
.map((response: Response) => {
console.log('Response is: ' + response);
})
.catch((this.handleErrorObservable));
}
startTracking() {
// lat and lng are populated here
}
stopTracking() {
// something ...
}
private handleErrorObservable (error: Response | any) {
console.error('Error in handleErrorObservable: ' + ( error.message || error ) );
return Observable.throw(error.message || error);
}
}
Аналогичный фрагмент также появляется в пастбине, который я разместил (https://pastebin.com/f39vW1hD). Любая помощь действительно приветствуется.