AJAX调用无法获取有关英特尔XDK的信息

时间:2016-05-05 21:16:38

标签: android angularjs ajax intel-xdk

我正在为我当地城市的血库建立一个APK,我需要按群体获得血液库存,我有一些JSON,我用邮递员测试,但我需要将它们添加到我的英特尔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的框架,如果有人需要额外的信息来帮助我,只要问一下并感谢任何想法。

2 个答案:

答案 0 :(得分:1)

如果调用成功但你没有让你的$ 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>

答案 1 :(得分:1)

请参阅英特尔XDK网站上的此常见问题解答&gt; https://software.intel.com/en-us/xdk/faqs/app-designer#ajax-jquery-one-fail