IONIC 4 & PHP при сборке apk не работает - PullRequest
0 голосов
/ 01 ноября 2019

Я сделал приложение в 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>

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Использовал Https: // вместо http://,, он будет работать, сейчас последняя версия ОС не поддерживает http: // URL, в моем случае это будет работать.

0 голосов
/ 01 ноября 2019

используйте https:// вместо http:// Android обновляет свою политику безопасности, поэтому в последней версии ОС не поддерживает http: // URL-вызов.

Счастливое кодирование: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...