I got error, When I try to call api.
I test the app at ionic lab -c
.
url
is my Vhost server in my computer.
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions, Response } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class Api {
url: any = 'http://myurl.local/api/';
headers = new Headers(
{
'Content-Type' : 'application/json'
});
options = new RequestOptions({ headers: this.headers });
constructor(public http: Http) {
console.log('Hello API Provider');
}
login(username, password) {
console.log('/////////// API Login //////////////');
let data = {
'service' : 'login',
'login_type' : 1,
'username' : username,
'password' : password
};
let fullUrl = this.url+'login';
console.log(fullUrl, data);
return new Promise((resolve, reject) => {
this.http.post(fullUrl, data, this.options)
.toPromise()
.then((response) =>
{
console.log('API Response : ', response);
resolve(response.json());
})
.catch((error) =>
{
console.error('API Error : ', error.toString());
reject(error.json());
});
});
}
}
That is error i got.
[11:30:57] console.log: /////////// API Login //////////////
[11:30:57] error opening ws message:
{"category":"console","type":"log","data":["http://myurl.local/api/login",{"service":"login","login_type":1,"username":"XXXXXX","password":"XXXXXXX"}]}
[11:30:57] console.error: API Error : Response with status: 0 for URL: null
But in my API server, I already add 'Access-Control-Allow-Origin' => '*'
in my code.
I try to read some forum, But i am not under stand it.
Cordova CLI: 6.5.0
Ionic Framework Version: 3.1.0
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.5
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.9.5
Xcode version: Xcode 8.3.2 Build version 8E2002