使用angularjs $ http POST检索对象

时间:2016-07-23 18:27:55

标签: javascript angularjs

我试图在登录后提取用户的名字,我在检索包含该名称的对象时遇到问题。

我的service.js:

(function () {
'use strict';
angular
    .module('agent')
    .factory('viewAgent', viewAgent);

viewAgent.$inject = ['$http', '$log'];
function viewAgent($http, $log) {
    var param = {
        api_id: '1',
        api_key: 'KEY',
        api_secret: 'SECRET',
        user_email: 'test-email',
        user_password: 'test'
    };
    return {
        view: function () {
            return $http({
                url: 'api/agent/loginViaEmail',
                method: 'POST',
                headers: {'Content-Type': 'application/x-www-form-urlencoded'},
                transformRequest: function (obj) {
                    var str = [];
                    for (var p in obj)
                        str.push(encodeURIComponent(p) + '=' + encodeURIComponent(obj[p]));
                    $log.log(str);
                    return str.join('&');
                },
                data: param
            });
        }
    };
}

})();

controller.js:

(function () {
'use strict';

angular
    .module('agent')
    .controller('AgentController', AgentController);

AgentController.$inject = ['viewAgent', '$state', '$log'];
function AgentController(viewAgent, $state, $log) {
    var vm = this;
    vm.agents = [];

    viewAgent.view()
        .then(function success(res) {
            $log.log(res.data);
            vm.agents = res.data.basicInfoAgent;
            return res.data;
        },
        function error(error) {
            $log.log(error);
        });
}
})();

登录控制器:

function loginClick() {
        viewAgent.view();
    }

和我的HTML:

<div ng-controller="AgentController">
  <md-button ng-click="vm.loginClick()" ng-disabled="login.$invalid">Login</md-button>
  <div>{{vm.agents}}</div>
</div>

我收到400:错误请求错误,上面写着&#34;缺少参数字段&#34;。我不知道要修复什么。我尝试检索Postman上的数据,然后我就能找回整个用户的对象。

0 个答案:

没有答案