AngularJS工厂http返回空

2024-01-01

我是第一次尝试 AngularJS。我正在使用工厂从 http-get 请求获取 JSON 数据,但在 ajax 请求完成之前,该对象返回为空。

Factory:

myDemo.factory('photosFactory', function($http) {
    var photos = [];

    var factory = {};

    factory.getPhotos = function() {
        $http({
            url: 'content/test_data.json',
            method: 'GET'
        }).success(function(data, status, headers, config) {
            photos = data;
            return photos;
        });
    };
    return factory;
});

控制器:

controllers.AppCtrl = function($scope, $location, $http, photosFactory) {
    $scope.photos = [];
    init();
    function init() {
        $scope.photos = photosFactory.getPhotos();
    }
};

这就是我想出的办法。当控制器设置 $scope.photos 时,该值为空,就好像它在使用 ajax 响应填充之前返回照片数组一样。


您应该修改代码以返回承诺并使用控制器中的值,请参阅虚拟修改代码

myDemo.factory('photosFactory', function($http) {
 return{
    getPhotos : function() {
        return $http({
            url: 'content/test_data.json',
            method: 'GET'
        })
    }
 }
});

和控制器 -

controllers.AppCtrl = function($scope, $location, $http, photosFactory) {
    $scope.photos = [];
    photosFactory.getPhotos().success(function(data){
       $scope.photos=data;
   });
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS工厂http返回空 的相关文章

随机推荐

  • 以编程方式获取 Android 手机规格

    我正在尝试根据与性能相关的内容对运行我的应用程序的 Android 手机进行分类 我想剔除所有低质量设备 以查看高质量手机的性能 崩溃率 我有设备型号 例如 在 Samsung Galaxy S6 上 Build MODEL 的值可能是 S
  • React 代码锁定在无限循环中 - 不涉及 while 循环

    我对 React 有点陌生 在下面写了这段代码 下面的组件用于渲染故事的时间和日期选择器 时间和日期选择器仅针对计划出现该故事的社交媒体进行渲染 class TaleScheduler extends Component construct
  • JavaScript 中“define”的用途是什么(除了显而易见的)?

    我到处搜索这方面的文档 但我在任何地方都找不到任何东西 我正在使用 Aloha 并希望使用他们的侧边栏原型来创建我自己的新侧边栏 附加到其他插件功能 他们的 sidebar js 就是从这个开始的 但我一生都找不到任何文档来解释它的含义 d
  • 使用 javaConfig 找不到类[重复]

    这个问题在这里已经有答案了 我使用注释动态创建 Bean 出现以下错误 package demoproject import org springframework context annotation Bean import org sp
  • 将我的程序添加到右键菜单

    右键菜单 我的意思是 我真的不知道它叫什么 但我希望它是右键菜单 当我用谷歌搜索这个问题的标题之类的查询时 我什么也没得到 一些教程展示了如何将 exe 添加到该列表等 但我正在寻找一些教程来教我如何处理该数据 右键单击菜单将返回什么 等等
  • Room 持久库将版本重置为 1

    有什么方法可以将房间库版本重置为1 我尝试卸载手机上的应用程序 它不起作用 仅当您完全删除该应用程序时 使用 Room 降级版本才有效 您可以通过 adb adb uninstall your app package 执行此操作 这也会删除
  • 将 Unicode 从 R 写入 SQL Server

    我正在尝试将 Unicode 字符串从 R 写入 SQL 然后使用该 SQL 表来支持 Power BI 仪表板 不幸的是 Unicode 字符似乎仅在我将表加载回 R 时才起作用 而当我在 SSMS 或 Power BI 中查看表时则不起
  • 查找并删除目录及其子目录中的空文件而无需查找

    我正在尝试制作一个 bash 脚本 在不使用 find 命令的情况下查找并删除目录 包括子目录 中的空文件 这是使用 find 命令的脚本的一部分 但我不确定如何在不使用 find 的情况下转换此行 find type f empty de
  • 如何在 SQL 查询中 JOIN 父级的类别表?

    我有一个帖子表 id category id 然后JOIN其类别表为 category id category name parent ONcategory id Parent是另一个类别的category id 例如 category i
  • 如何获取 rq 队列中的作业数量?

    我用过rq http python rq org 和 RedisToGo 如何获取队列中的作业数量 我在文档中找不到它 Python 当我尝试时 print Before len q jobs result q enqueue worker
  • 如何备份SVN仓库? [复制]

    这个问题在这里已经有答案了 我经常听说拥有 SVN 存储库并不能消除备份的需要 这样的备份是如何完成的呢 我的意思是存储库会随着时间的推移而膨胀 不是吗 那么我是否每次都将其作为一个整体进行备份 或者我该怎么做 进行此类备份的最简单方法是什
  • 德墨忒尔定律 - 数据对象

    我试图遵循德米特法则 参见http en wikipedia org wiki Law of Demeter http en wikipedia org wiki Law of Demeter http misko hevery com c
  • Google Maps Javascript API 不响应 iOS 10 中的触摸事件

    我运行一个内置了许多自定义 Google 地图的网站 在搜索或生成往返某个位置的路线后在地图上显示各个位置 我为此使用 Google Maps Javascript API 我的用户开始报告说 在 iOS 10 上 这些地图不再响应触摸事件
  • 表字段中未显示验证图标

    当我进入表格的编辑模式时 我希望在用户超出任何验证约束范围时立即显示数据验证感叹号图标 首先 有几点注意事项 我使用的是 Vaadin 7 所以 Bean Validation 插件很遗憾无法工作 数据验证按预期进行 现在 我有一个完美的工
  • 是否可以在node.js的帮助下在Windows中将JSLint作为命令行运行?

    我的意思是像这样运行它 node exe lint js my js file js 然后将输出输出到控制台 我需要下载什么 我只需要保存吗http www jslint com 到磁盘 然后获取一些附加的 js 文件 或者我需要寻找 no
  • 如何将触摸从 UIView 传递到 UIScrollView

    如同这个线程 https stackoverflow com questions 5186479 passing swipe touches from uiview to underlying uiscrollview for proper
  • 构建 GDAL 时链接器错误

    我正在使用 MSVC 2015 64 位命令提示符从源代码构建 GDAL 我使用的是 Windows 8 在构建过程中 我收到以下错误 Creating library gdal i lib and object gdal i exp od
  • 如何让 Swagger UI 与 Swashbuckle 一起使用端口 443?

    在运行 RESTful Web 服务的 QA 和 Prod 环境中 端口 80 未开放 因此 目前当我尝试在 QA 中访问 Swagger UI 时 我收到此消息 但它只是挂起 fetching resource list http qa
  • JSon.NET 反序列化子项

    对于反序列化 我通常使用与 JSon 和中找到的属性名称相同的对象JsonConvert DeserializeObject
  • AngularJS工厂http返回空

    我是第一次尝试 AngularJS 我正在使用工厂从 http get 请求获取 JSON 数据 但在 ajax 请求完成之前 该对象返回为空 Factory myDemo factory photosFactory function ht