PhoneGap - Angularjs http 服务(PHP API 调用)不工作

PhoneGap - Angularjs http service (PHP API call) Not Working

我尝试使用 Angularjs http 服务 来调用我的 PHP API。在浏览器中一切正常。但是,当我在 Android Phone 上测试它时,它不起作用。

我的问题:

在 Android PhoneGap 应用程序中,每当我触发 Angularjs http 服务时 它总是会触发 function (error)即使手机连接到互联网。

我试过看这个,但他们的解决方案不起作用:

我还确保 Phonegap config.xml 允许 Internet 权限访问:

<access allows-arbitrary-loads-in-media="true" allows-arbitrary-loads-in-web-content="true" allows-local-networking="true" origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />

然而它仍然没有工作。

我的问题:

  1. 是否 Angularjs http 服务无法在 PhoneGap 移动应用程序上运行,只能在 Web 浏览器上运行?
  2. 除了 config.xml 之外,是否需要进行任何其他配置才能允许 PhoneGap 移动应用程序访问互联网?

Angularjs代码:

$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';

$http({
    method: 'POST',
    data: {
        'email' : $scope.email,
        'password' : $scope.password,
    },
    url: 'https://unsurfaced-cross.000webhostapp.com/PGLogin.php'
 }).then(function (response){
    $scope.users = response.data;

    if(response.data[0]=="LOGIN"){
      alert("Successful Login");
      $window.location.href = './homepage.html';

    }else{
      alert("Login Failed. Incorrect Email or Password.");
    }

 },function (error){
      alert("Please ensure You are connected to Internet.");
 });

似乎我只是没有安装 whitelist 插件,对于我来说 whitelist 插件默认情况下没有安装。

因为我使用的是 PhoneGap,而不是使用 cordova-plugin-whitelist@latestcordova createcordova plugin add cordova-plugin-whitelist 等命令

我应该使用:phonegap plugin add cordova-plugin-whitelist

安装白名单插件后,一切正常。

所以,

  1. Angularjs http 服务可以在 PhoneGap 移动应用程序上运行。
  2. 除了 config.xml 之外,我们还必须确保安装了所有必要和必需的插件,例如白名单插件。