【问题标题】:Show loading screen while waiting for NodeJS to Parse a json File在等待 NodeJS 解析 json 文件时显示加载屏幕
【发布时间】:2016-01-12 16:58:07
【问题描述】:

我有一个项目,我需要向 nodeJS 服务器发出 angular http.post 请求,该服务器将从 URL 解析打开的数据集并将其作为 json 对象字符串传递给 angular。 这个事件的问题是从一个开放的数据集中解析 JSON 并解析它,处理它等等......需要很多时间。但是我需要这些数据来填写我网站的内容,或者使用我网站中的功能。

所以我想知道如何显示引导程序modal,它要么显示一个微调器,要么只要我没有收到我的角度数据,它就会说“正在加载数据”。这样,我将阻止用户在我的网站仍然为空时浏览我的网站,因为还没有数据可供使用。


NodeJS代码解析:

app.post("/", function (req, res) {
    request("http://datasets.antwerpen.be/v1/bevolking/inkomensvolgenswoonplaatsperdistrict.json", function (error, response, body) {
        if (error || response.statusCode != 200)
            return (res.status(response.statusCode).end());
        var data = JSON.parse(body);
        res.json(data.inkomensvolgenswoonplaatsperdistrict);
    });

})

Angular 请求代码:

app.controller("MyCtrl", function ($scope, $http) {
    $scope.getAll = function () {
        $http.post(url + "/")
            .success(function (res) {
                console.log(res);
                $scope.All = res;
                angular.forEach(res, function (value, key) {
                    console.log(key + " : " + value);
                })
            });
    };

})

【问题讨论】:

  • 真正的问题是什么?
  • 我想创建这个模式,只要我没有来自节点的响应,我该怎么做?
  • 函数调用时显示模态,收到响应时隐藏。建议使用angular ui bootstrap,去掉bootstrap.js
  • 是的,但我该怎么做呢?这个有角度的 ui 引导程序是否会影响使用常规引导程序所做的任何更改?
  • $scope.getAll 之前$http.post 打开模态。当$http.post 返回时,不管结果如何,关闭模态框。

标签: javascript angularjs json node.js twitter-bootstrap


【解决方案1】:

$scope.getAll 之前 $http.post 打开然后是模态的。当$http.post 返回时关闭模式。这应该在发生错误或成功的情况下完成。

请参阅angular-ui-bootstrap Modal docs,了解将引导模式集成到您的 Angular 应用程序中的实施示例。

【讨论】:

  • 我通过 $scope.getAll 中的 javascript 函数调用它来工作,谢谢加载 m8 ;)
  • 您有空来回答另一个问题吗? :)
  • 这是关于折叠面板的。我希望始终只有一个折叠面板处于活动状态,因此如果有任何按钮会打开折叠面板,则另一个应该关闭。清楚我想要做什么吗?
  • 我真的建议为此使用 angular-ui-bootstrap,我知道您在询问原始问题时并没有使用它,但他们有一个完整的指令来执行此操作,称为 Accordion。它支持,使用布尔属性 close-others 一次只打开一个项目
  • 只需阅读 Angular UI Bootstrap 的 getting started 部分。如果我的回答在上面有帮助,您应该将其标记为答案并点赞,以便以后查看此问题的人知道这回答了您的问题。
猜你喜欢
  • 2019-11-02
  • 2010-11-21
  • 1970-01-01
  • 2019-01-08
  • 2011-11-21
  • 2022-01-25
  • 1970-01-01
  • 2013-01-26
  • 1970-01-01
相关资源
最近更新 更多