https://localhost/***/api/get**.php?TOKEN=??? 的 Http 失败响应:0 未知错误

Http failure response for https://localhost/***/api/get**.php?TOKEN=???: 0 Unknown Error

我正在为我的业务开发一个新应用程序,我需要将我的 php 网络应用程序转换为移动应用程序。

我在尝试从我的 php 文件中获取 json 数据时遇到问题,该文件是 :

    <?php
header("Access-Control-Allow-Credentials: true");
header("Content-Type: application/json; charset=utf-8");
header("Access-Control-Allow-Origin: *");

$api = true; // this is to bypass redirection to login screen

require(__DIR__ . '/../autoload.php');

if (isset($_GET['TOKEN']) && $_GET['TOKEN'] = '???') {

.... // Some code to get my values
    
    
    $res = array();
    .... // more code to get the values

    echo json_encode($res);
    
}else{
    die('Invalid token');
}

我一直在使用 https://jsonplaceholder.typicode.com/todos/1 在我的 ts 文件中测试 httpclient 它正在工作。 这是我的 ts 文件:

    import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {
  orders: any[] = [];
  constructor(private http: HttpClient) {}

  ngOnInit() {
    this.getOrders().subscribe((value) => {
        for (let key in value) {
          console.log(value[key]);
          console.log(key);
          this.orders.push({
            shop: key,
            orders: value[key],
          });
        }
    });
  }

  getOrders() {
    console.log('function run 2');
    return this.http.get(
      'https://localhost/???/api/get???.php?TOKEN=???',
      {}
    );
  }
}

在带有 ionic serve 的浏览器上,它与我的本地主机 api 一起工作就像一个魅力,但是当我 运行 ionic cordova run android --prod -l --consolelogs 它只与 json 一起工作占位符测试 api 而不是我的本地主机 api

您认为问题出在我的 php 文件的 headers 设置、我的 get 请求,甚至是存储 php 文件的 wamp localhost?

编辑

我的 ssl 证书似乎无效,但我已经测试了 jsonplaceholder 的相同 api 并且它正在使用 http,我已经尝试将我的 [=服务器上的 33=] 文件是 运行 一个有效的 ssl 证书,但它也没有工作,这就是为什么我安静地迷失了

经过长时间的研究,我找到了解决这个问题的方法(至少绕过):

我刚刚使用我的 运行 或 serve 函数与 --external 并使用我的 public ip 调用我的 php 文件来为我的项目提供服务(与我的本地主机相同我的 php 文件所在的 ip。