Когда пользователь отправляет форму, сервер должен получить запрос PUT, который обновляет базу данных опроса. Что странно в моей консоли dev, я вижу, что callback для Poll.update вызывается немедленно, но запрос PUT занимает 120000 мс. И даже тогда, когда консоль dev показывает успешный запрос PUT, база данных не обновляется, и мой вызов.success никогда не вызывается.
Обновлен [объект объекта]
PUT/api/polls/5599725069753a7711fd4274/0 200 120083ms
В моем браузере я вижу только запрос PUT без кода состояния. Я не вижу сообщений об ошибках.
Маршруты Контроллера опроса:
var express = require('express');
var controller = require('./poll.controller');
var router = express.Router();
router.put('/:id', controller.update);
module.exports = router;
Контроллер Mongoose Poll:
exports.update = function(req, res) {
var update = {$set: {'poll_name': 'Poll has been updated'}};
Poll.update(req.params.id, update, function(err, num, doc) {
if(err) console.log(err);
else {
console.log('Updated ' + doc); // This is logged after vote is submitted
}
});
};
Угловой код, вызываемый при отправке, будет нажат:
$scope.addVote = function() {
$http.put('api/polls/' + $scope._id).success(function(result) {
console.log('Vote submitted'); //This is never called
}
);
};
Ваш сервер не отправляет никакого ответа и что причина, по которой вы видите запрос, заканчивающийся через долгое время. Добавьте res.send после вашего console.log, и вы увидите ответ, полученный на стороне клиента