如何将消息从Express发送到Angular?我可以记录响应,并查看我想要的变量,但Angular抱怨变量未定义。
在服务器上,我正在......
return res.status(200).send({ message: 'Life is good!' });
有棱有角,我正在......
angular.module('app').
controller('testCtrl', function($scope, TestSvc, notify, $state){
$scope.doSomething = function(){
TestSvc.doSomething($scope.testValue).then(
function(response){
console.log(response)
//notify(response.data.message);
//notify(response.message);
//notify('Success');
$state.go('confirm');
},
function(response){
notify.notify(response.data.message);
});
}
});
该服务看起来正确:
angular.module('app').
factory('TestSvc', function($q, $http){
var _doSomething = function(value){
var d = $q.defer();
$http.post('/api/test-service', { testValue: value }).
then(function(){
d.resolve();
}, function(response){
d.reject(response.data.reason);
});
return d.promise;
};
return {
doSomething: _doSomething
};
});
客户端的日志显示响应的以下内容:
{ "message":"Life is good!" }
我尝试过使用response.data.message
,response.message
,response.body.message
...所有回来都是undefined
。我到底做错了什么?!?!?
答案 0 :(得分:0)
更改为此(更改解决方案):
$http.post('/api/test-service', { testValue: value }).
then(function(data){
d.resolve(data);
}, function(response){
d.reject(response.data.reason);
});
return d.promise;