Я пытаюсь заставить простое приложение работать на iOS с Ionic.
Приложение содержит простую кнопку для выполнения запроса POST к моему сервлету, расположенному на моем сервере, с функцией логин (имя пользователя, пароль).
Сначала я подумал, что это проблема на стороне сервера, поэтому я попытался выполнить POST через ПО POSTMAN.
Результат был идеальным, и ответ был в формате JSON.
Но когда я пытаюсь сделать это на своем iPhone, собственный компонент http выдает ошибку, в которой все значения равны нулю.
Я думаю, это как-то связано с моим машинописным кодом. Вы можете мне помочь?
Мой машинописный код:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { TabsPage } from '../tabs/tabs';
import { HTTP } from '@ionic-native/http';
import 'rxjs/add/operator/map';
import { Storage} from '@ionic/storage';
import { ShareService } from '../../services/share/share';
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
export class LoginPage {
static readonly SERVER_ADDRESS = 'http://example.com';
constructor(public navCtrl: NavController, public navParams: NavParams, private http: HTTP, private storage:Storage, private shareService: ShareService) {
this.storage.ready().then( () => {
this.storage.get("user").then( (user) => {
if( user !== null){
console.log(shareService.getUserName());
shareService.setUser(user.firstName,user.lastName,user.username,user.customer);
this.navCtrl.push(TabsPage);
}
});
});
}
ionViewDidLoad() {
console.log('ionViewDidLoad LoginPage');
}
login(username,password){
var body = {
username: username.value,
password: password.value
}
let header:any = {
'Content-Type': 'application/json'
}
this.http.setDataSerializer('json');
this.http.post(LoginPage.SERVER_ADDRESS+'/external/MobileLoginServlet',body,header).then(
data => {
var response = JSON.parse(data.data);
let user = response[0];
user.customer = 3;
user.firstname = "Christian";
user.lastName = "Prellwitz";
console.log(user);
this.storage.ready().then( () =>{
this.storage.set("user",user);
});
this.navCtrl.push(TabsPage);
}).catch(error =>{
console.log(error);
console.log(error.status);
console.log(error.error);
console.log(error.headers);
});
}
}
Моя CORS сервлета:
response.setHeader("Access-Control-Allow-Origin", "*");
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
Что возвращает компонент http:
[app-scripts] [11:19:53] console.log: [object Object]
[app-scripts] [11:19:53] console.log: null
[app-scripts] [11:19:53] console.log: null
[app-scripts] [11:19:53] console.log: null
Заранее благодарим за помощь.