2015-06-21 2 views
0

Попытка получить сообщение, работающее, в основном его профиль пользователя, весь объект отправляется в угловую форму из выражения (хранится в монго), однако я не могу получить маршрут, чтобы прочитать данные, которые я отправил назад (с помощью анализатора тела).экспресс-почта не читает запрос полезная нагрузка

Прежде всего, передающая часть пост с помощью угловой:

$scope.saveProfile = function(empty) { 
    $scope.user.updateMe = false; 
    $http({ 
     method: 'POST', 
     url: '/api/postProfile/'+$scope.user._id, 
     data: $scope.user 
    }) 
     .success(function(data, status, headers, config) { 
      console.log("I updated"); 
     }) 
     .error(function(data, status, headers, config) { 
      console.log("Big fat fail that one"); 
     }); 

    } 

Это дает мне следующее сообщение:

 { 
     "startedDateTime": "2015-06-21T06:53:50.363Z", 
     "time": 0, 
     "request": { 
      "method": "POST", 
      "url": "http://localhost:29771/api/postProfile/55841857579127018071ad97", 
      "httpVersion": "unknown", 
      "headers": [ 
      { 
       "name": "Accept", 
       "value": "application/json, text/plain, */*" 
      }, 
      { 
       "name": "Referer", 
       "value": "http://localhost:29771/internal/profile" 
      }, 
      { 
       "name": "Origin", 
       "value": "http://localhost:29771" 
      }, 
      { 
       "name": "User-Agent", 
       "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36" 
      }, 
      { 
       "name": "Content-Type", 
       "value": "application/json;charset=UTF-8" 
      } 
      ], 
      "queryString": [], 
      "cookies": [], 
      "headersSize": -1, 
      "bodySize": 448, 
      "postData": { 
      "mimeType": "application/json;charset=UTF-8", 
      "text": "{\"_id\":\"55841857579127018071ad97\",\"updateMe\":false,\"imageUrl\":\"https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg?sz=50\",\"familyName\":\"Bberg\",\"firstName\":\"Ben\",\"userName\":\"Ben Bberg\",\"__v\":0,\"google\":{\"email\":\"[email protected]\",\"name\":\"Ben Bberg\",\"token\":\"ya29.lwGTHvRHvXhnBGTYSFVztPrjlkvtq-0HenpocX0VCsUmnbMt5zpluo411-0nyCqH2xgfwO4YCTuRyA\",\"id\":\"108193570873442725868\"}}" 
      } 
     }, 
     "response": { 
      "status": 0, 
      "statusText": "", 
      "httpVersion": "unknown", 
      "headers": [], 
      "cookies": [], 
      "content": { 
      "size": 0, 
      "mimeType": "x-unknown" 
      }, 
      "redirectURL": "", 
      "headersSize": -1, 
      "bodySize": -1, 
      "_transferSize": 0, 
      "_error": "net::ERR_EMPTY_RESPONSE" 
     }, 
     "cache": {}, 
     "timings": { 
      "blocked": -1, 
      "dns": -1, 
      "connect": -1, 
      "send": 0, 
      "wait": 0, 
      "receive": 0, 
      "ssl": -1 
     }, 
     "pageref": "page_8" 
     } 
    ] 
    } 
} 

Однако, когда я пытаюсь с помощью тела следующего UrlEncode в маршрутизатор

app.post('/api/postProfile/:id', isLoggedIn, urlencodedParser, function(req, res) { 
    console.log("I got called here"); 
    var id = req.params.id; 
     console.log("I will update " + id + " with : " + req.body); 
     for (var key in req.body){ 
      console.log(key + " value: " + req.body[key]); 
     } 
}); 

Я ничего не получаю, как можно видеть. Я пытаюсь пройти через объект req.body для ключи, но там ничего нет. Ниже представлен выходной журнал

POST /api/postProfile/55841857579127018071ad97 - - ms - - 
I got called here 
I will update 55841857579127018071ad97 with : [object Object] 

У кого-нибудь есть предложения?

ответ

0

После многих неприятностей, я нашел проблему. Линия, которая не хватало:

app.use (bodyParser.json())

Проблема, кажется, что если вы пропустите эту строку, вы получите совершенно пустой req.body, однако, как только я если это все работает отлично. Надеюсь, что это поможет кому-то :)

 Смежные вопросы

  • Нет связанных вопросов^_^