$ http PUT-запрос медленный и безуспешный, без кода состояния, без ошибок

0

Когда пользователь отправляет форму, сервер должен получить запрос 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
    }
  );
};
Теги:
mongoose

1 ответ

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

Ваш сервер не отправляет никакого ответа и что причина, по которой вы видите запрос, заканчивающийся через долгое время. Добавьте res.send после вашего console.log, и вы увидите ответ, полученный на стороне клиента

  • 0
    Да. По крайней мере, отправьте res.status (200) или res.status (201) обратно клиенту. В противном случае ваш запрос истекает.

Ещё вопросы

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