Я сделал приложение в ionic 4, которое подключается к файлу php, что делает функцию вставки данных в msql все работает нормально, но во время компиляции это не работает в androd 9 не отправляет данные и не подключается ксервер. Я помню, что я сделал что-то, чтобы это работало давным-давно, но у меня больше нет исходного кода, я помню, что я положил что-то "HEADER", но я не знаю, где.
Это мой тсfile
'''
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { AlertController } from '@ionic/angular';
import { NavController } from '@ionic/angular';
@Component({
selector: 'app-factura',
templateUrl: './factura.page.html',
styleUrls: ['./factura.page.scss'],
})
export class FacturaPage implements OnInit {
constructor(private http: HttpClient,public alertController: AlertController,public navCtrl: NavController) { }
ngOnInit() {
}
datos: any = {};
apiUrl='http://072atizapan.mx/index.php'
logForm() {
let newData={
funcion: 'correo2',
datos: this.datos
}
this.http.post(this.apiUrl, JSON.stringify(newData))
.subscribe(data=>{
if(data=='true'){
console.log('return');
this.presentAlert();
}else{
this.presentAlert();
this.navCtrl.navigateForward('/');
}
},
(err)=>{
this.presentAlert();
this.navCtrl.navigateForward('/');
}
);
}
это мой php
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Accept-Encoding, X-Requested-With, Content-Type, Origin, Accept, Authenticationtoken");
if($_SERVER['REQUEST_METHOD'] !== 'POST'){
echo json_encode(array('status' => false));
exit;
}
$postdata = file_get_contents("php://input");
$datos=json_decode($postdata, true);
switch ($datos['funcion']) {
case 'correo2':
getMenu($datos);
break;
}
Я уже пробовал с белым списком и добавлением разрешений на Android, но это не работает для меня. Я уверен, что php полезен, потому что я уже использовал то, что со мной не так, как мне кажется, в части TS.
АНДОРИД КОНФИНГ
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
<domain includeSubdomains="true">http://xxxxmx/</domain>
<domain includeSubdomains="true">http://xxxx/index.php</domain>
</domain-config>
</network-security-config>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
РЕШЕНИЕ:
<uses-sdk android:targetSdkVersion="27" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">http://XXX.mx/index.php</domain>
<domain includeSubdomains="true">http://XXXX.mx</domain>
<domain includeSubdomains="true">http://XXXX.mx/SAPASA/>
<domain includeSubdomains="true">http://XXXX.mx/>
</domain-config>
</network-security-config>