Javascript 在数据库中搜索并显示结果Express节点Angular MEAN.js$resource
我有两个型号,分别是“牛仔裤”和“衬衫” 其中有两个变量“name”和“color” 我想有一个搜索页面,在其中用户可以通过数据库搜索到特定颜色或名称的衬衫和牛仔裤 这个链接可能是一个暗示,但我就是想不出来 我这里有些东西,但不起作用。 如果您能告诉我如何修理,我将不胜感激。谢谢 看法 $资源服务:Javascript 在数据库中搜索并显示结果Express节点Angular MEAN.js$resource,javascript,angularjs,node.js,express,meanjs,Javascript,Angularjs,Node.js,Express,Meanjs,我有两个型号,分别是“牛仔裤”和“衬衫” 其中有两个变量“name”和“color” 我想有一个搜索页面,在其中用户可以通过数据库搜索到特定颜色或名称的衬衫和牛仔裤 这个链接可能是一个暗示,但我就是想不出来 我这里有些东西,但不起作用。 如果您能告诉我如何修理,我将不胜感激。谢谢 看法 $资源服务: angular.module('alls').factory('Alls', ['$resource', function($resource) { return $resource('a
angular.module('alls').factory('Alls', ['$resource',
function($resource) {
return $resource('alls/:allId', { allId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}]);
客户端控制器
exports.list = function(req, res) {
if (variable1 === "AnyThing")
{
if (variable2 === "AnyThing")
{
FindArray = {};
}else
{
FindArray = { name = variable2 };
}
}else
{
FindArray = { color = variable1 , name = variable2 };
}
if (req.body.search1 === 'Jeans')
{
if (req.body.search2 === 'Shirts')
{
Jeans.find(FindArray).sort('-created').populate('user', 'displayName').exec(function(err, jeans) {
Shirt.find(FindArray).sort('-created').populate('user', 'displayName').exec(function(err, shirts) {
var all = shirts.concat(jeans);
res.jsonp(all);
});
});
}else{
Jeans.find(FindArray).sort('-created').populate('user', 'displayName').exec(function(err, jeans) {
res.jsonp(jeans);
});
}
}else{
Shirt.find(FindArray).sort('-created').populate('user', 'displayName').exec(function(err, shirts) {
res.jsonp(shirts);
});
}
};
angular.module('alls').controller('AllsController', ['$scope', '$stateParams', '$location', 'Authentication', 'Alls', 'Jeans', function($scope, $stateParams, $location, Authentication, Alls, Jeans) {
$scope.find = function() {
$scope.search1 = search1;
$scope.search2 = search2;
$scope.variable1 = variable1;
$scope.variable2 = variable2;
$scope.alls = Alls.query();
};
}]);
服务器端路由
module.exports = function(app) {
var alls = require('../../app/controllers/alls.server.controller');
app.route('/alls').get(alls.list);
};
在我看来,对这一点的初步审查似乎是您的路线在期待get,但您的$resource正在运行put。我还认为,所有的范围分配都不会起作用,因为您分配的是不存在的变量。它怎么会不起作用呢?你期望发生什么而没有发生?您是否正在从客户端获取服务器上的表单数据?数据库查找不起作用了吗?是关于控制器的。我想我的控制器无法识别search1和search2以及variable1和variable2。当我添加这些行时,我的应用程序不会显示任何内容!我是否需要将视图中的数据发送到控制器?因为我只有进入路径,我想我需要把这些变量发送给我的控制器。当我注释掉这些变量时,我的视图显示整个数据库意味着我可以从数据库读取到我的视图,所以我想我需要一些东西来将数据从我的视图发送到控制器。如果你有任何简单的搜索页面,它可以以这种方式工作,这将是一个很大的帮助。如果没有plunkr,可能很难调试,但是AllsController中的代码是错误:
$scope.search1=search1$scope.search2=search2$scope.variable1=variable1$scope.variable2=variable2代码>右侧的那些变量不存在。HTML视图假定引用的变量已经在$scope中,因此这是隐含的。
module.exports = function(app) {
var alls = require('../../app/controllers/alls.server.controller');
app.route('/alls').get(alls.list);
};