2016-05-06 2 views
0

Я пытаюсь отправить сообщение json с restangular, но это не возвращает мне ничего.Отправить по почте с restangular

Код:

$scope.userPost = { 

     title: 'foo', 
     body: 'bar', 
     userId: 1 
    } 

    $scope.registerUser=function(){ 
     $scope.people = Restangular.all('post').post($scope.userPost); 
     console.log($scope.people); 
    } 

Это вернуть мне это:

{ "restangularCollection": false, "$object": {} } 
http://jsonplaceholder.typicode.com/post 404 (Not Found) 

Обычно я использую это с AJAX и вернуть мне:

JSON
$.ajax('http://jsonplaceholder.typicode.com/posts', { 
    method: 'POST', 
    data: { 
    title: 'foo', 
    body: 'bar', 
    userId: 1 
    } 
}).then(function(data) { 
    console.log(data); 
}); 

Любые идеи?

+0

'HTTP: // jsonplaceholder .typicode.com/post'! == 'http: // jsonplaceholder.typicode.com/posts' также он возвращает обещание, поэтому вам нужно получить ответ, используя' Restangular.all ('post'). post ($ scope.userPost). then (функция (данные) {console.log (данные);}); ' –

ответ

0

Restangular работает с обещаниями, поэтому, вы должны делать что-то вроде:

$scope.registerUser = function() { 
    Restangular.all('post').post($scope.userPost).then((data) => { 
     $scope.people = data; 
     console.log($scope.people); 
    }); 
} 

Или вы можете воспользоваться его enhanced promises и сделать что-то вроде:

$scope.registerUser = function() { 
    $scope.people = Restangular.all('post').post($scope.userPost).$object; 
} 
Смежные вопросы