【问题标题】:GET and POST request at the same time in NODE在 NODE 中同时 GET 和 POST 请求
【发布时间】:2015-05-27 23:11:21
【问题描述】:

我有一个搜索页面,我需要发送一个数组,告诉我用户正在寻找什么:
{ 型号:'牛仔裤',颜色:'蓝色}

我应该有一个 GET 请求来从数据库接收数据。

我可以同时拥有 Get 和 post 请求吗? 您建议两者都具有一个功能还是每个功能都具有一个功能?如果是后者,那么如何在 Express.js 中的函数之间传递数据?

 app.route('/alls/:issuename')
    .get(alls.list)
    .post(alls.list2);

控制器

exports.list = function(req, res) {
    mongoose.model(var1).find({ color: var2 }).exec(function(err, alls){
        res.jsonp(alls);
    }); 
};

exports.list2 = function(req, res) {

    var var1 = req.body.Model;
    var var2 = req.body.Color;

};

这是我在 $Resource 中将参数传递给 GET

angular.module('alls').factory('Alls', ['$resource', function($resource) {

return $resource('alls/:issuename', {issuename: '@issuename'},
    {   
        get:{ method: 'GET', isArray:true }

    });
}]);

如何传递数组?

【问题讨论】:

  • 你应该只使用 get
  • 如何将该数组传递给 GET?
  • 您应该搜索查询字符串。如果您查看地址栏,您可能会注意到类似 www.someweb.com?variable1=val1&foo=bar
  • 我用资源部分编辑了我的问题以及如何将参数传递给 GET 如何在资源中传递数组?

标签: javascript angularjs node.js mongodb express


【解决方案1】:

我是这样解决的

$资源

angular.module('alls').factory('Alls', ['$resource', function($resource) {

return $resource('alls/:issuename', {issuename: '@issuename'},
    {

        get:{ method: 'GET',
        query: {
            Model: '',
            Color: ''
        }, isArray:true }

    });
}]);

然后我在控制器中收到这些数据

 exports.list = function(req, res) {

    var var1 = req.query.Model;
    var var2 = req.query.Color;

    mongoose.model(var1).find({ color: var2 }).exec(function(err, alls) {
        res.jsonp(alls);
    });



};

注意:$resource 中的数组名称可以是查询或其他任何名称,但您只能通过控制器中的 req.query 接收传递的数据。

在路线部分我只需要获取和发布是多余的

希望它可以帮助别人!

【讨论】:

    【解决方案2】:

    http://expressjs.com/guide/routing.html

    有一个特殊的路由方法app.all() 不是从任何HTTP 方法派生的。它用于在所有请求方法的路径上加载中间件。

    在以下示例中,无论使用 GET、POST、PUT、DELETE 还是 http module 支持的任何其他 HTTP 请求方法,都将为“/secret”请求执行处理程序。

    app.all('/secret', function (req, res, next) {
      console.log('Accessing the secret section ...');
      next(); // pass control to the next handler
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-16
      • 2022-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多