У меня проблема, и я не знаю проблемы. Пожалуйста, помогите мне найти решение.req.body undefined in express 4.13.1
В угловом зрения я есть:
<form ng-submit="submit()">
<input ng-model="stickie_text" type="text" id="sticky_content" />
<button type="submit" id="add_sticky" value="add a new stickie!">new sticky</button>
В стороне клиента (AngularJS) у меня есть этот контроллер:
dcuApp.controller('rankingController', ['$scope', '$http',function($scope, $http) {$scope.submit = function(){
// console.log("holaaaa");
console.log($scope.stickie_text);
$http.get('/api/get-ranking',{"valor":$scope.stickie_text}).then(function(response) {
$scope.data = response.data;
console.log("RANKING: "+$scope.data);
},
function(response) {
console.debug('Error:' + response);
});
};
}]);
В стороне сервера (Express 4.13.1) i имеют:
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var db = require('../model/db');
var model = require('../model/model');
var fs = require('fs');
var async = require('async');
var bodyParser = require('body-parser');
var methodOverride = require('method-override'); //used to manipulate POST
router.use(bodyParser.urlencoded({ extended: true }))
router.use(methodOverride(function(req, res){
if (req.body && typeof req.body === 'object' && '_method' in req.body) {
// look in urlencoded POST bodies and delete it
var method = req.body._method
delete req.body._method
return method
}
}));
router.get('/api/get-ranking',function(req,res,next){
console.log(req.body.valor);
});
Проблема заключается в том, что req.body.valor НЕ УКАЗАНА.
Я знаю, что есть другие публикации, которые относятся к этой проблеме, но не смогли ее исправить.
Пожалуйста, мне нужна помощь, чтобы получить на стороне сервера, другой req.body.valor неопределенных
спасибо !!! :)
Вы делаете запрос GET? – adeneo
@adeneo правильно, вы должны преобразовать запрос на 'post' на стороне сервера, а также на стороне клиента. В противном случае параметр будет добавлен внутри URL в качестве параметра запроса –