作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有这个用于分享照片的网络应用程序。
现在我有了这条路由,它应该从以下数组中返回所有用户的照片。
路线:
router.get('/getphotos',function(req, res){
var reqPhotos = [];
console.log( "\n" + req.body.username + "\n");
try{
for(x =0; x < req.body.following.length; x++){
reqPhotos.push({username: req.body.following[x].username});
}
}
catch(err){
console.log(err);
}
Photo.find({username: reqPhotos}).exec(function(err, allPhotos){
if(err){console.log(err);}
else{
res.json(allPhotos);
}
});
});
我发现 req.body.following 未定义。这就是我使用 Angular 调用它的方式:
$scope.getPhotos = function(){
if($scope.identification){
flng = angular.copy($scope.identification.following);
flng.push($scope.identification.username);
var data = {username: $scope.identification.username, token: $scope.identification.token, following: flng}
//IDENTIFICATION HAS ALL THE INFO.
$http.get('/users/getphotos', data).success(function(response){
$scope.photos = response;
});
}
}
为什么会发生这种情况以及如何解决?
谢谢!
最佳答案
不确定服务器端,但我在 Angular 代码中看到两个问题。执行 HTTP GET
请求时不能传递正文。尝试通过 url 传递任何必要的数据。
此外,返回的实际数据将在 response.data
中。做这样的事情:
var urlData = ""; //add any url data here, by converting 'data' into url params
$http.get('/users/getphotos/' + urlData).then(function(response){
$scope.photos = response.data;
});
要构建 urlData,请查看 this问题。
当然,您必须调整服务器,使其从 url 而不是正文中读取数据。
关于javascript - NodeJS GET 请求不适用于 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36746275/
我是一名优秀的程序员,十分优秀!