javascript - 在数据库中搜索并显示结果 Express Node Angular MEAN.js $resource

标签 javascript angularjs node.js express meanjs

我有两个名为“牛仔裤”和“衬衫”的模特 其中有两个变量“name”和“color”

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

这个链接可能是一个提示,但我就是想不通 Similar Problem

我这里有一些东西但是它不起作用。 如果您告诉我如何修复它,我将不胜感激。谢谢!

查看

<section data-ng-controller="AllsController" data-ng-init="find()">
<div class="page-header">
    <h1>Alls</h1>
</div>

<div class="Search">

    <h2>Search Section</h2>

    <select data-ng-model="search1" id="search">
      <option value="Model1">Jeans</option>
      <option value="Model2">Shirts</option>
    </select>

    <select data-ng-model="search2" id="search">
      <option value="Model1">Jeans</option>
      <option value="Model2">Shirts</option>
    </select>

    <select data-ng-model="variable1" id="variable1">
      <option selected="selected">AnyThing</option>
      <option value="color1">Blue</option>
      <option value="color2">Red</option>
    </select>

    <select data-ng-model="variable2" id="variable2">
      <option selected="selected">AnyThing</option>
      <option value="name1">John</option>
      <option value="name2">Bob</option>
    </select>

</div>


<br></br><br></br>

<h2>Result Section</h2>

<div class="list-group">
    <table class="table table-striped table-bordered">
        <thead>
            <tr>
                <th>Name</th>
                <th>Color</th>
            </tr>
        </thead>
        <tbody>
                <tr data-ng-repeat="all in alls">   
                <td data-ng-bind="all.name"></td>
                <td data-ng-bind="all.color"></td>
                </tr>
        </tbody>
    </table>

</div>

在 Controller 中;首先,我查看用户选择了哪些属性并将其分配给 FindArray 然后我看到用户想在哪个模型中搜索。(AnyThing 意味着用户没有选择任何东西)

服务器端 Controller

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').factory('Alls', ['$resource',
function($resource) {
    return $resource('alls/:allId', { allId: '@_id'
    }, {
        update: {
            method: 'PUT'
        }
    });
}]);

客户端 Controller

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。我还认为您所有的范围分配都不会起作用,因为您正在分配不存在的变量。

关于javascript - 在数据库中搜索并显示结果 Express Node Angular MEAN.js $resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30419669/

相关文章:

javascript - 如何在具有特定文件扩展名的网页中查找所有链接?

javascript - Typeahead 在 AEM 6.1 中不起作用,但在 CQ 5.6.1 中起作用

javascript - Nodejs 读取数据库查询会引发单个字段错误

javascript - 用 angular.element(element).offset 替换 $(element).offset

javascript - 如何从node.js中的/数量中分割字符串?

node.js - Karma Pipe Test : _this. handler.handle 不是抛出的函数

javascript - 将 Javascript 变量抓取到 Python 中

javascript - 听后退按钮会使其停止工作

javascript - 是否有可能将 Stringify 转换为对象数组

AngularJS 远程客户端属性共享给 Controller /服务