javascript - 使用 angular 从 Node.js 调用多个 Action

标签 javascript angularjs node.js mongodb express

请帮忙,我对编程很陌生。我为一个页面创建了一个路由 router.get('/statistics', routesCtrl.statistics),我想使用 Angular 在某些图表中显示一些统计信息。

我意识到我需要发送一些查询结果,例如数据库中有多少注册,其中有多少具有“此属性”,有多少具有“那些属性”等等,这对我来说是新事物.到目前为止,在对路由的响应中,我只发送了上述列表中的一项统计数据。

我应该如何将此信息发送到 Angular,我是否应该创建一个包含这些统计信息的文字对象,将它们打包到响应中并将其发送到 Angular?或者从 db 发送整个 json 并在 Angular 中解析它,但这似乎也是一个错误的想法,因为如果它是真的,我不能使用来自 Angular 的 mongoose 查询:)。

我没有任何其他想法,可能还有更专业的方法。谢谢!

最佳答案

这非常简单,每当您需要来自服务器端的数据时,在您的情况下是 node.js 或任何可能像 PHP、asp.nrt 等的东西,您必须使用 angular $http (GET) 向服务器发送 http 请求/POST) 以及作为 json 对象或查询字符串的必需参数。在服务器端编写一些 rest 服务类型的东西来处理这个,并在服务器上使用发送参数来查询 mongo,而不是将收集的数据作为 json 对象传递回 Angular 端。在 Angular 中,您可以解析此 JSON,并且 Angular 还可以使用属性 ng-repeat 直接在 View 中使用 JSON/Array,等等取决于您的具体要求。

angular.js 中的请求

var sendConfig = {
        method : "POST",
        url: "YOUR_URL",
        data: {action : 'Test_Service'},
        headers : {}
      };


      $http(sendConfig).success(function(response) {
    console.log(response);

      }).error(function(error) {
      console.log(error);
});

在 node.js 中响应

var server = http.createServer(function(req,res){

    var webservice_actions_instance = new webservice_actions(req, res);
    var service_response = {data : 'RESPONSE_HERE_AFTER_CERTAIN_ALGOS'};

    res.writeHead(200, {'Content-Type': 'text/html',"Access-Control-Allow-Origin": "*","Access-Control-Allow-Headers":" X-Requested-With"});
    res.write('Response Data '+ service_response);
    res.end();  



}).listen( 8080 );

关于javascript - 使用 angular 从 Node.js 调用多个 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26991515/

相关文章:

javascript - 哪些模式,大型原生构建应用程序的最佳实践

javascript - 如何在每毫秒滴答的 onTick 事件中设置状态

javascript - 为数组中的每个对象添加属性

javascript - 使用 NodeJs 创建邮件服务

javascript - Future.resolve() 是什么意思?

javascript - 使用 jQuery 根据加载的页面将 Active 类添加到事件选项卡元素

javascript - 在AngularJS中将数据从服务传递到 Controller

angularjs - 让 Protractor 测试占据整个屏幕

javascript - Node.js 服务器解释的未定义 HTTP GET 请求

node.js - NPM错误: 503 Service Unavailable for npm install command