Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在数据库中搜索并显示结果Express节点Angular MEAN.js$resource_Javascript_Angularjs_Node.js_Express_Meanjs - Fatal编程技术网

Javascript 在数据库中搜索并显示结果Express节点Angular MEAN.js$resource

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

我有两个型号,分别是“牛仔裤”和“衬衫” 其中有两个变量“name”和“color”

我想有一个搜索页面,在其中用户可以通过数据库搜索到特定颜色或名称的衬衫和牛仔裤

这个链接可能是一个暗示,但我就是想不出来

我这里有些东西,但不起作用。 如果您能告诉我如何修理,我将不胜感激。谢谢

看法

$资源服务:

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);
};