2016-12-04 2 views
0

Я не уверен, что я просто тупой, но здесь. Я пытаюсь отправить данные на свой сервер с помощью кнопки angularjs, которая запускает функцию с HTTP-запросом. Однако я не уверен, где хранятся данные в запросе. Это моя кнопка функции:Где данные в angularjs http post request?

<script> 
     var app = angular.module('buttonApp', []); 
     app.controller('myCtrl', function($scope, $http) { 
      $scope.myFunc = function(url) { 
       console.log("func called"); 
       $http({ 
        method: 'POST', 
        url: url, 
        data: 'some data' 
       }).then(function successCallback(response) { 
        console.log(response); 
       }, function errorCallback(response) { 
        console.log("Failed connection"); 
       }); 
      } 
     }); 
    </script> 

Вот мой код сервера:

app.post('/buttonPressed', function(req, res){ 
    button = true; 
    console.log(req); 
    res.send("success"); 
}); 

Если я console.log в «REQ» я получаю огромную структуру JSON, где я не могу найти никаких ссылок на «данные», которые я ищу. Неужели я полностью ошибаюсь?

+0

Что вы хотите достичь именно? Если вам просто нужны отправленные параметры JSON, я бы сохранил их в локальной переменной прямо перед запросом $ http. Ответ сервера обычно находится в 'response.data' (при условии, что установлены правильные заголовки). –

ответ

1

Использование middilware

app.use(express.bodyParser()); 

затем

app.post('/buttonPressed', function(req, res){ 
    button = true; 
    req.body; //get the body parameter (POST data) 

    res.send("success"); 
}); 

Это даст почтовые данные, отправленные в теле

+0

Спасибо, человек, который сделал вещи намного проще. Хотя, видимо, теперь это просто app.use (bodyParser()); – Bort