nash nash - 3 years ago 156
AngularJS Question

Angular-Fullstack: Using $resourse query with params

I'm using Angular-Fullstack generator, and I'm not able to get a list of drivers depending on a companyID, through $resource query. This is what I have:

server/api/driver/index.js:

router.get('/:company', controller.index);


server/api/driver/driver.controller.js:

export function index(req, res) {
return Driver.find({company: req.params.company}).exec()
.then(function(res){
console.log(res); /* I get here the result correctly */
respondWithResult(res)
})
.catch(handleError(res));
}


client/services/driver.service.js:

export function DriverResource($resource) {
'ngInject';

return $resource('/api/drivers/:id/:company', {company: '@_id'});
}


client/app/driver/driver.controller.js:

this.driverList = Driver.query({company: Auth.getCurrentUser()._id}});
console.log(this.driverList); /* Empty array */


I'd be grateful if someone could help me getting the response from the server...

Thank you in advance.

Answer Source

I just realised that I was duplicating the 'res' variable:

server/api/driver/driver.controller.js:

export function index(req, res) {
  return Driver.find({company: req.params.company}).exec()
    .then(function(**res**){
       /* Should be the result, not the response */
       console.log(**res**);
       respondWithResult(**res**)
    })
    .catch(handleError(res));
}
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download