首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >读取我的json文件的数据

读取我的json文件的数据
EN

Stack Overflow用户
提问于 2016-05-01 23:29:06
回答 2查看 401关注 0票数 0

这个世界令人伤心地哭泣,因为一个我无法定义的问题被阻塞了两个小时,我无法从我的json文件中检索数据,我代码中的一切似乎都是正确的。

这是我的工厂:

代码语言:javascript
运行
复制
'use strict';
angular.module('starter.services')


.factory('userService',function ($http) {

	
        
        return{
			
			getUsers:function(){
				return $http.get("http://localhost:26309/api/User/getAll/").then(function (response) {
							return response.data;
                        });
			}
			
		}
		
});

而这个控制器:

代码语言:javascript
运行
复制
'use strict';
angular.module('starter.controllers', ['starter.services'])


 .controller('UsersCtrl', function($scope,userService) {
	 $scope.Users = [];
userService.getUsers().then(function (data) { $scope.Users= data.data; }); });
	
	
});

index.html:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title></title>

    <link href="lib/ionic/css/ionic.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">

    <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
    <link href="css/ionic.app.css" rel="stylesheet">
    -->

    <!-- ionic/angularjs js -->
    <script src="lib/ionic/js/ionic.bundle.js"></script>
	<script src="lib/ionic/js/angular/angular-resource.min.js"></script>

    <!-- cordova script (this will be a 404 during development) -->
    <script src="cordova.js"></script>

    <!-- your app's js -->
    <script src="js/app.js"></script>
	 <script src="js/UserControllerIonic.js"></script>
	  <script src="js/UsersServiceIonic.js"></script>
   
  </head>

  <body ng-app="starter" ng-controller="UsersCtrl">
  <ion-view>
     <div class = "list" >
            <a class = "item" ng-repeat = "user in Users">
                <h2>{{user.nom}}</h2>
               
            </a>
        </div>
</ion-view>
 
	
  </body>
</html>

提前谢谢你

溶液

我通过以下方式解决了问题:

1-在config.xml中添加权限<allow-navigation href="http://*/*"/>

2-安装科多瓦插件-白名单ionic plugin add cordova-plugin-whitelist

3-向chrome :https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/related?hl=en-US添加控件允许原点扩展

最后:通过将此代码添加到“我的Global.asax in Application_start方法:config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; config.Formatters.Remove(config.Formatters.XmlFormatter);”中,指定后端控制器返回的数据类型。

希望这能帮到别人

EN

回答 2

Stack Overflow用户

发布于 2016-05-01 23:44:27

您不希望在工厂内解析您的$http调用。

联署材料:

代码语言:javascript
运行
复制
angular.module('app',[])
.controller('MainCtrl', function($scope, MyService){
  var url = "http://jsonplaceholder.typicode.com/users";
  MyService.getData(url).then(function(res){
    console.log(res.data);
    $scope.data = res.data;
  });
})
.service('MyService', function($http){
  return {
    getData: function(url){
      return $http.get(url);
    }
  }
})

HTML:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html ng-app="app">

  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
    <script src="script.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <ul>
      <li ng-repeat="item in data">{{item.name}}</li>
    </ul>
  </body>

</html>
票数 0
EN

Stack Overflow用户

发布于 2016-05-02 09:03:46

问题是,您正在使用值response.data解决服务中的承诺,并再次期望已解析的值具有data属性。更改服务代码如下:

代码语言:javascript
运行
复制
'use strict';
angular
  .module('starter.services')
  .factory('userService',function ($http) {
    return {        
      getUsers: function(){
        return $http.get("http://localhost:26309/api/User/getAll/").then(function (response) {
          return response;
        });
      }
    }
});

或者简单地按如下方式返回承诺:

代码语言:javascript
运行
复制
'use strict';
angular
  .module('starter.services')
  .factory('userService',function ($http) {
    return {        
            getUsers: function(){
                return $http.get("http://localhost:26309/api/User/getAll/");
            }
        }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36973148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档