angularjs - Angular没有显示响应数据

标签 angularjs node.js sails.js mongodb-query

这是后端函数

 userDetail : function(req,res){
    User.findOne().where({id : req.userID}).exec(
      function findOneCB(err, result) {
        if (err) {
          sails.log.error("Error Occurred : "+ err);
        }
        if(result != undefined ){

          Account.find().where({userID: req.userID},{StatusCode :"Successful"}).exec(
            function findCB(err, accounts) {
              if (err) {
                sails.log.error("Error Occurred  : "+ err);
              }
              if(accounts != undefined ){

                var sendData={
                  userData:result,
                  accountData :accounts
                };
                console.log(sendData);
                res.json(sendData);
              }
            });
        }
      });
  }

这是前端资源函数

(function (){
    "use strict";
    angular.module('userAccounts').factory('userAccountsResource',[
        "$resource","$http",userAccountsResource]);

    function userAccountsResource($resource,$http){
        return {
            getApprovedAccounts:function(){
                return $resource('api/account/approvedBankAccounts');
            },
            getUserDetail : function(){
                return $http.get('api/user/userDetail');
            }
        }

    }
})();

Controller 上的资源函数调用

 vm.userDetail= userAccountsResource.getUserDetail();

后端发送响应数据为

{ userData: 
   { email: 'thusitha@gmail.com',
     userName: 'thusithz',
     userRole: 'Standard',
     selectedAccountList: 
      [ { accountName: 'HSBC name',
          CFIXID: 'HSBC_CFIXID',
          id: '563c4d7e802127d51b3d80c7',
          StatusCode: 'Pending' },
        { accountName: 'NSB plus',
          CFIXID: 'NSB_CFIXID',
          id: '563c4de1802127d51b3d80c8',
          StatusCode: 'Pending' } ],
     createdAt: '2015-11-06T05:10:18.690Z',
     updatedAt: '2015-11-06T05:52:24.820Z',
     verifyCode: '1446786618698FfL2_gHGexhOb_JQ',
     pincode: '1111',
     id: '563c363aa45b2d841afc63ab' },
  accountData: 
   [ { TimeStamp: '1446797352',
       TransactionID: 'LGPS201511613253518097',
       SecretTransactionKey: 'HSBC_CFIXID03636867',
       ReplyID: '35753',
       StatusCode: 'Successful',
       StatusDescription: 'Authentication Failed',
       Tags: '',
       ReturnURL: '',
       userID: '563c363aa45b2d841afc63ab',
       accountName: 'HSBC plus',
       CFIXID: 'HSBC_CFIXID',
       VerificationCode: 'LGPS3309914431991402',
       createdAt: '2015-11-06T07:55:35.229Z',
       updatedAt: '2015-11-06T07:55:35.229Z',
       id: '563c5cf7463ef3eb0aeaf57a' } ] }
但{{vm.userDetail}}没有显示任何东西

显示了{{}}

这是为什么..?函数正确链接到后端函数并且返回正确的响应,但为什么它显示为 {{}}

最佳答案

进行异步调用时,如果请求未包装在 $http 中,则必须通知 Angular 模型已更改,以便 View 可以同步。

收到服务器响应时尝试添加$scope.$apply()

关于angularjs - Angular没有显示响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564845/

相关文章:

javascript - 如何将 AngularJS UI 组件库移植到最新的 Angular?

javascript - 如何在 Firebase 可调用云函数上引发自定义错误?

node.js - SailsJs res.render 与 res.view

javascript - 正则表达式验证 AngularJs

javascript - 如何在 angularjs 中传递 twitter api 的授权 header 以获取用户时间线?

java - Node.js 和 Java 中的 PBKDF2 实现黑白差异

express - Sails.js - 更改路由顺序(蓝图后的自定义路由)

javascript - Passport.js 不适用于 sails 套接字环境

jquery - 如何减去两个AngularJS日期变量

c++ - libuv: uv_check_t 和 uv_prepare_t 用法