GET параметры тела запроса не определены

0

Я пытаюсь получить параметры запроса GET следующим образом, но все, что я пытаюсь выполнить, как "undefined":

ПОЛУЧИТЬ

// Find a list of Players
$scope.find = function() {
    $scope.players = Players.query({limit: 50});
};

Промежуточное

//Players service
angular.module('players').factory('Players', ['$resource',
function($resource) {
    return $resource('players/:playerId', { playerId: '@_id'
    }, {
        update: {
            method: 'PUT'
        }
    });
}
]);

Конечная точка

exports.list = function(req, res) { 

Player.find().sort('-created').limit(req.body.limit).populate('user', 'displayName').exec(function(err, players) {
    if (err) {
        return res.status(400).send({
            message: errorHandler.getErrorMessage(err)
        });
    } else {
        res.jsonp(players);
    }
});
};
  • 0
    Вы не можете отправить тело с GET . Вместо этого используйте POST
  • 0
    req.param это то, что вы хотите, а не body
Показать ещё 2 комментария
Теги:
express

2 ответа

0
Лучший ответ

Поскольку мой запрос - GET мне нужно получить параметры (внутри строки запроса) с помощью .query:

Player.find().sort('-created').limit(req.query.limit).populate('user', 'displayName').exec(function(err, players) {
    if (err) {
        return res.status(400).send({
            message: errorHandler.getErrorMessage(err)
        });
    } else {
        res.jsonp(players);
    }
  });
};

Этот ответ был очень полезен Дополнительная информация

0

Хорошее обсуждение GET с телом сообщения. Правильно ли это утверждение? Метод HTTP GET всегда не имеет тела сообщения

Короче говоря, поведение серверов при использовании тела сообщения с GET, вероятно, не будет последовательным.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню