Javascript 检查数据库中是否存在$routeParams名称
我正在一个平均堆栈上创建一个网站,我有一个模板,可以在Angular中使用通配符路由。当用户在“cityname”中键入plumber时,将检查cityname是否存在于具有循环的数据库中。如果存在,它将检索cityname附带的所有信息。但是现在,如果用户选择了数据库中不存在的城市,我只需要一个“未找到页面”页面 我怎样才能做到这一点 这是我在控制器中的循环:Javascript 检查数据库中是否存在$routeParams名称,javascript,html,angularjs,mean-stack,Javascript,Html,Angularjs,Mean Stack,我正在一个平均堆栈上创建一个网站,我有一个模板,可以在Angular中使用通配符路由。当用户在“cityname”中键入plumber时,将检查cityname是否存在于具有循环的数据库中。如果存在,它将检索cityname附带的所有信息。但是现在,如果用户选择了数据库中不存在的城市,我只需要一个“未找到页面”页面 我怎样才能做到这一点 这是我在控制器中的循环: app.controller('DataCtrl2', function($scope,$http,getData,$location
app.controller('DataCtrl2', function($scope,$http,getData,$location,$routeParams){
$scope.changePath = function(path) {
$location.path('/'+ path +'-' + $scope.selectedItem.city);
};
getData.getCity().then(function(response){
$scope.items = response.data;
var keepGoing = true;
for(var i = 0; i < $scope.items.length; i++){
var data = $scope.items[i];
if(keepGoing) {
if (angular.lowercase($routeParams.name) == angular.lowercase(data.city)) {
keepGoing = false;
$scope.selectedItem = data;
}
}
}
});
});
与其为显然不存在的数据创建404未找到页面,不如检查该值并添加类似弹出窗口的内容,以通知用户该请求不存在?只是一个ideaBut如果您想保留它,您可以只添加一个条件,比如“else{$location.path('/your404Page.html')}?else语句不起作用,因为它将返回420次“Page not found”(只要有记录)当然啊哈,因为你在循环中,你需要在进入循环之前检查参数是否存在。我正在考虑一个解决方案,等一下。我能看看你的对象城市(response.data)吗?我正在尝试一些东西,但不能保证任何东西。。
{
"_id" : ObjectId("592409faf1f5831ca882ad39"),
"city" : "Aalsmeer",
"phoneLG" : "0101-010 001",
"phoneAV" : "0101-010 001",
"phoneCV" : "0101-010 001"
}
{
"_id" : ObjectId("592409faf1f5831ca882ad3a"),
"city" : "Aalburg",
"phoneLG" : "0101-010 001",
"phoneAV" : "0101-010 001",
"phoneCV" : "0101-010 001"
}