Phonegap, вызов веб-службы Angular JS

Мы работаем над приложением angular js для создания приложения для Android с использованием phonegap. Сначала мы создали приложение с различными вызовами веб-сервисов и протестировали его в эмуляторе Chrome для различных устройств, и оно отлично работает.

Затем мы импортировали проект в Intel XDK и интегрировали в приложение проверку готовности к телефонному разговору и другие проверки, связанные с сетью. Он по-прежнему отлично работает в эмуляторе и в режиме предварительного просмотра приложения.

Однако после сборки проекта в APK мы заметили, что методы http.get и http.post angular js всегда возвращают ошибку 404. После прочтения в Google мы попытались добавить данные, связанные с заголовком, как часть параметра, но все равно это не удается. Ниже приведен фрагмент нашего примера вызова

$scope.get_special = function() {
alert('test');
$http({
    url: BASE_URL + "?app_module=special",
    method: 'GET',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
    }
}).success(function(data) {
    alert(data);
    $scope.specials = data.arr;
    $scope.$apply();
}).error(function(data, status, headers, config) {
    $scope.isLoaderOn = false;
    $scope.isError = true;
    alert('error');
    alert(data);
    alert(status);
    alert(headers);
    $scope.err_msg = 'Could Not Connect to Server';
});

}


person Shabbir    schedule 18.03.2015    source источник
comment
Привет, а как насчет вашего config.xml? У вас установлено <access origin="*" /> или, может быть, другое значение?   -  person Alexandre Bulté    schedule 18.03.2015
comment
Для дальнейшей отладки вы можете предоставить: config.xml, как выглядит ваш BASE_URL, заголовки запроса и ответа от вашего вызова.   -  person Alexandre Bulté    schedule 18.03.2015
comment
Привет, я бегу в той же проблеме. В моем эмуляторе и пульсации все работает нормально, но на устройстве я не получаю данные от веб-сервиса.   -  person Kingalione    schedule 29.04.2015


Ответы (1)


Попробуй это

$scope.get_special = function() {
alert('test');
$http({
    url: BASE_URL + "?app_module=special",
    method: 'GET',
    headers: {
            'Content-Type': 'application/json'
        }
}).success(function(data) {
    alert(data);
    $scope.specials = data.arr;
    $scope.$apply();
}).error(function(data, status, headers, config) {
    $scope.isLoaderOn = false;
    $scope.isError = true;
    alert('error');
    alert(data);
    alert(status);
    alert(headers);
    $scope.err_msg = 'Could Not Connect to Server';
});
person Mohammad Nurdin    schedule 19.03.2015