Вызов AJAX не получает информацию о Intel XDK

Я создаю APK для банка крови моего города, и мне нужно получить запас крови по группам, у меня есть некоторый JSON, который я тестирую с помощью Postman, который работает, но мне нужно добавить их в мой проект Intel XDK. Я следую некоторым примерам с AJAX и HTTP, но безрезультатно.

 ionic.Platform.ready(function(){
 $("#ajax").click(function(){        
            $.ajax({
                method: 'GET',
                url: 'http://192.168.1.100/api/hospital/17659861-1',
                dataType: 'json',
                success: function (data) {
                    alert('Data RecibidaAPI: ' + data);
                    console.log(data.data[0].us_rut);
                    console.log(data.data[0].us_nombre);
                    console.log(data.data[0].us_telefono);
                    console.log(data.data[0].us_id_dispositivo);
                    console.log(data.data[0].us_grupo_sangre);
                }
            }).then(function (data) {
                console.log('Data RecibidaAPI: ' + data);
            });
        });

}

а также попробуйте

<div id="campa_de_sangre" class="upage-content vertical-col left hidden" ng-app="myApp2" ng-controller="myCtrl2">
<p>hola</p>
            <h1>{{myWelcome}}</h1>
            <p>Status : {{statuscode}}</p>
            <p>StatusText : {{statustext}}</p
            <p>{{content}}</p>
<script>
var app2 = angular.module('myApp2', []);
app2.controller('myCtrl2', function($scope, $http) {
  $http({
    method : "GET",
    url : "welcome.htm"
  }).then(function mySucces(response) {
      $scope.myWelcome = response.data;
      $scope.statuscode = response.status;
      $scope.statustext = response.statusText;   
    }, function myError(response) {
      $scope.content = "Something went wrong";

  });
});
</script>
</div>

где я даже не мог заставить работать scope.satuscode. Я использую Ionic в качестве фреймворка с AngularJS, если кому-то нужна дополнительная информация, просто спросите и спасибо за любую идею.


person Nicolas Rudisky    schedule 05.05.2016    source источник


Ответы (2)


См. этот FAQ на веб-сайте Intel XDK > https://software.intel.com/en-us/xdk/faqs/app-designer#ajax-jquery-one-fail

person xmnboy    schedule 06.05.2016

Если вызов выполняется успешно, но вы не получаете обновление $scope, попробуйте обернуть значения, которые необходимо обновить, в $timeout. Вы можете использовать $scope.apply(), но я считаю, что $timeout является более безопасным методом.

<div id="campa_de_sangre" class="upage-content vertical-col left hidden" ng-app="myApp2" ng-controller="myCtrl2">
<p>hola</p>
            <h1>{{myWelcome}}</h1>
            <p>Status : {{statuscode}}</p>
            <p>StatusText : {{statustext}}</p
            <p>{{content}}</p>
<script>
var app2 = angular.module('myApp2', []);
app2.controller('myCtrl2', function ($scope, $http, $timeout) {
    $http({
        method: "GET",
        url: "welcome.htm"
    }).then(function mySucces(response) {
        $timeout(function () {
            $scope.myWelcome = response.data;
            $scope.statuscode = response.status;
            $scope.statustext = response.statusText;
        }, 0)
    }, function myError(response) {
        $timeout(function () {
            $scope.content = "Something went wrong";
        }, 0)

    });
});
</script>
</div>
person Osei Fortune    schedule 05.05.2016