PhoneGap - http-сервис Angularjs (вызов PHP API) не работает

Я пытаюсь использовать http-сервис Angularjs для вызова моего PHP API. В браузере все работает нормально. Но когда я тестирую его на своем телефоне Android, он не работает.

Моя проблема:

В приложении Android PhoneGap всякий раз, когда я запускаю http-сервис Angularjs, он всегда запускает function (error), даже если мобильный телефон подключен к Интернету.

Я попробовал посмотреть это, но их решение не работает:

  1. Angular $http.get() не работает в Phonegap DevApp< /а>
  2. Android-приложение Cordova 5.3.1 не может получить доступ к Интернету

Я также убедился, что Phonegap config.xml разрешил доступ в Интернет с помощью:

<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. Может ли http-сервис Angularjs работать с мобильным приложением PhoneGap, а только с веб-браузером?
  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.");
 });

person I am a Student    schedule 16.04.2018    source источник
comment
Что говорит ошибка в обратном вызове ошибки?   -  person Phonolog    schedule 16.04.2018


Ответы (1)


похоже, что на самом деле я просто не устанавливал плагин whitelist, в моем случае плагин whitelist не был установлен по умолчанию.

Поскольку я использовал PhoneGap, вместо использования команд типа cordova-plugin-whitelist@latest, cordova create, cordova plugin add cordova-plugin-whitelist и т. д.

Я должен использовать: phonegap plugin add cordova-plugin-whitelist

После установки плагина белого списка все работает нормально.

So,

  1. http-сервис Angularjs может работать с мобильным приложением PhoneGap.
  2. Помимо config.xml, мы должны убедиться, что установлены все необходимые и требуемые плагины, такие как плагин белого списка.
person I am a Student    schedule 18.04.2018
comment
это не работает для меня, также я добавил и удалил плагин, чтобы убедиться - person Reza; 14.10.2019